You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: support offline mode and custom images for enterprise setups
Enterprise environments that cannot pull from Docker Hub (internal
registries, offline/air-gapped, proxy/cert issues) now have two
complementary knobs, following Carole's proposal:
- A per-container `image` config field overrides the default Docker Hub
image (e.g. an internal-registry mirror or a locally loaded image). If
it carries no tag, the configured `tag` (or "latest") is appended.
- `lstk --offline` (or `LSTK_OFFLINE=1`) runs from a locally available
image without pulling, skips the license-server check (the license
ships inside enterprise images), makes the auth token optional, and
disables telemetry and update checks.
In offline mode `container.Start` uses `useLocalImages`, which verifies
the image is present locally via the new `runtime.ImageExists` and emits
an actionable error if it is missing, instead of pulling and validating.
Generated with [Linear](https://linear.app/localstack/issue/DEVX-703/support-enterprise-environments-that-cannot-pull-from-docker-hub#agent-session-77e3f9fc)
Co-authored-by: linear-code[bot] <222613912+linear-code[bot]@users.noreply.github.com>
Copy file name to clipboardExpand all lines: CLAUDE.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,6 +66,12 @@ When adding a new command that depends on configuration, wire config initializat
66
66
67
67
Created automatically on first run with defaults. Supports emulator types: `aws`, `snowflake`, and `azure`.
68
68
69
+
Each `[[containers]]` block may set an optional `image` to override the default Docker Hub image (e.g. an internal registry mirror or a locally loaded offline image). `ContainerConfig.Image()` returns `image` as-is when it already carries a tag, otherwise it appends `tag` (or `latest`); the default `localstack/<product>:<tag>` is used when `image` is unset.
70
+
71
+
# Offline Mode
72
+
73
+
For enterprise environments that cannot pull from Docker Hub, `lstk --offline` (or `LSTK_OFFLINE=1`) runs the emulator from a locally available image without pulling, skips the license-server check (the license ships inside enterprise images), and disables telemetry/update checks. The flag is a persistent root flag honored by `start` and `restart`; `cmd.resolveOfflineFlag` folds it into `env.Env.Offline`, which flows into `container.StartOptions.Offline`. In offline mode `container.Start` calls `useLocalImages` (verifies the image exists locally via `runtime.ImageExists`, no pull, no license validation) instead of the pull/validate path, and an auth token becomes optional. Pair it with a custom `image` in the config to point at a locally loaded or internal-registry image.
74
+
69
75
# Emulator Setup Commands
70
76
71
77
Use `lstk setup <emulator>` to set up CLI integration for an emulator type:
0 commit comments