Skip to content

Mention the lstk CLI in the localstack CLI docs#700

Open
gtsiolis wants to merge 4 commits into
mainfrom
pro-312-mention-lstk-cli-in-localstack-cli-docs
Open

Mention the lstk CLI in the localstack CLI docs#700
gtsiolis wants to merge 4 commits into
mainfrom
pro-312-mention-lstk-cli-in-localstack-cli-docs

Conversation

@gtsiolis

@gtsiolis gtsiolis commented Jun 12, 2026

Copy link
Copy Markdown
Member

Summary

Adds a short note to the top of the LocalStack CLI reference pointing readers to lstk, our new Go-based CLI, and aligns the lstk page so the two pages describe lstk consistently.

It also replaces the auto-generated "This documentation was auto-generated from LocalStack CLI version " note, which wasn't useful and was reliably out of date. That version is captured only when the monthly update-cli-docs workflow runs (the 15th), so it always trails the actual release — the page read 2026.4.0 while 2026.5.x had been on PyPI for weeks (2026.5.0 shipped 5 days after the last regeneration). A stamp that's accurate for ~1 day a month is worse than none.

Changes

The LocalStack CLI page is auto-generated by scripts/generate_cli_docs.py, so that change is made in the generator and mirrored into the current output:

  • scripts/generate_cli_docs.py — replace the version provenance :::note with a pointer to lstk; remove the now-dead version plumbing (the localstack --version call + unused parameter).
  • localstack-cli.md — the regenerated note.
  • lstk.mdx — update the top note and the "difference between lstk and the localstack CLI" FAQ to reflect that lstk now covers lifecycle, monitoring, and storage (snapshot), and that both CLIs work with Cloud Pods (lstk via snapshot, localstack via pod). This supersedes the earlier early-release note (Update the lstk early release note #698); snapshot/Cloud Pods support has since shipped.

Rendered notes:

LocalStack CLI page: lstk is our new Go-based CLI with an interactive terminal UI for lifecycle (start, stop), monitoring (status, logs), storage (snapshot), and more.

lstk page: lstk covers the everyday emulator workflow: lifecycle (start, stop), monitoring (status, logs), storage (snapshot), and more.

Follow-up

Documenting the lstk snapshot command in detail and the terraform/az/setup proxy commands is tracked separately and will land in its own PR.

Fix PRO-312

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 12, 2026

Copy link
Copy Markdown

Deploying localstack-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 852edee
Status: ✅  Deploy successful!
Preview URL: https://6bfa2c0c.localstack-docs.pages.dev
Branch Preview URL: https://pro-312-mention-lstk-cli-in.localstack-docs.pages.dev

View logs

@gtsiolis gtsiolis force-pushed the pro-312-mention-lstk-cli-in-localstack-cli-docs branch from 4be89f2 to 83eab98 Compare June 12, 2026 11:27
@quetzalliwrites

Copy link
Copy Markdown
Collaborator

cc @mmaureenliu for visibility since she is just now logging tickets for this doc too :)

@gtsiolis gtsiolis self-assigned this Jun 12, 2026
Both tools can start, stop, and manage the LocalStack emulator.
`lstk` is a newer CLI built in Go with a TUI, while the `localstack` CLI is the established Python-based tool with support for Cloud Pods, Extensions, Ephemeral Instances, and other advanced features.
Both tools can start, stop, and manage the LocalStack emulator, and both work with Cloud Pods — `lstk` via its `snapshot` command and the [`localstack` CLI](/aws/tooling/localstack-cli/) via its `pod` command.
`lstk` is a newer CLI built in Go with a TUI; the `localstack` CLI is the established Python-based tool that additionally supports Extensions, Ephemeral Instances, and other advanced features `lstk` doesn't cover yet.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gtsiolis considering that we will deprecate localstack without adding support for things like Extensions and Ephemeral Instances to lstk, do we really want to highlight it?

When we deprecate localstack, we'll update docs to only mention the webapp route of using those features not supported in lstk (e.g. Ephemeral Instance, Extensions) and just don't say anything CLI.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, probably not worth highlighting.

For context, the goal was to make lstk discoverable from the localstack CLI page.

I will remove ephemeral instances and extensions mention next week, but you are also welcome to take this over and push any changes or merge before that.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed, see #700 (comment).

@@ -458,11 +457,11 @@ Restart your shell after persisting completions.

### What is the difference between `lstk` and the `localstack` CLI?

@quetzalliwrites quetzalliwrites Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hey @gtsiolis, we don't want to have a mention of the soon to be deprecated localstack cli in the lstk doc. We should keep this doc only focused on lstk.

And since we're fully deprecating the LS cli, to me this is another reason we don't need this section moving fwd :)

@gtsiolis gtsiolis Jun 16, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DEAL. I was aiming to making minimal changes in this PR, removed in 852edee.

gtsiolis and others added 3 commits June 16, 2026 12:39
The Developer Tools restructure (#691) moved the localstack-cli and lstk
pages under /aws/developer-tools/running-localstack/. Update the cross-links
in the generated CLI doc, its generator, and the lstk FAQ to match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@gtsiolis gtsiolis force-pushed the pro-312-mention-lstk-cli-in-localstack-cli-docs branch from 83eab98 to e22353c Compare June 16, 2026 09:43
Keep the lstk doc focused only on lstk. With the localstack CLI being
deprecated, the doc shouldn't compare against it or highlight features
(Extensions, Ephemeral Instances) that lstk won't add. Discoverability of
lstk still flows from the localstack CLI page note, which is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@gtsiolis

Copy link
Copy Markdown
Member Author

Can someone take another look? 👀

@mmaureenliu mmaureenliu left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did a complete re-read of the entire article and left quite a few comments/questions. None are blocking so I've approved already, but I do want them addressed at some point.

## Prerequisites

- [Docker](https://docs.docker.com/get-docker/) installed and running.
- A [LocalStack account](https://app.localstack.cloud/sign-up) with a valid [Auth Token](/aws/getting-started/auth-token/).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For lstk purpose, do they really need to know about the auth token? I thought it's not possible to NOT have a personal auth token if you have an account. More relevant here is to have an account and have a license assigned for whichever LocalStack product you want to use.

lstk
```

Running `lstk` without arguments performs the full startup sequence: resolves your auth token by opening the LocalStack Web Application, pulls the latest image if needed, and starts the LocalStack container.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, is it really necessary to mention the auth token? From user perspective they just need to know that lstk handles the authentication flow.

Running `lstk` without arguments performs the full startup sequence: resolves your auth token by opening the LocalStack Web Application, pulls the latest image if needed, and starts the LocalStack container.
In an interactive terminal it launches the TUI; in a non-interactive environment it prints plain text output.

For CI or headless environments, set `LOCALSTACK_AUTH_TOKEN` and use `--non-interactive`:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here it's actually worth explaining you need a CI auth token and points to the CI auth token section of the auth token page (eventually this will be nearer the top of the doc and we'll de-emphasize personal auth token).

lstk --config /path/to/config.toml start
```

### Default configuration

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this out of date? e.g. type options. Does this get updated when we re-run the generate scripts?


| Field | Type | Default | Description |
| :------- | :------- | :--------- | :------------------------------------------------------------------------------------------------- |
| `type` | string | `"aws"` | Emulator type. Only `"aws"` is supported. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as above.

| `GATEWAY_LISTEN` | `:4566,:443` | Ports the emulator binds inside the container |
| `MAIN_CONTAINER_NAME` | `localstack-aws` | Container name for internal references |

The container also gets the Docker socket mounted (if detected) and port mappings for `4566`, `443`, and the service port range `4510-4559`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

service port range only applies to aws emulator?


### Can I use `lstk` with Docker Compose?

No. `lstk` manages its own Docker container directly.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, if the configs are compatible, you can use lstk to interact with (e.g. view status, view logs, manage snapshots) the localstack instance started with docker-compose, but should leave lifecycle management to docker-compose.

No need to change right now but we do need to have a good think on whether we want to recommend complementing docker-compose with the CLI.


No. LocalStack uses a single Docker image: `localstack/localstack`.
There is no separate "community" or "pro" image.
All plans (including the free Hobby tier) use the same image and require an auth token.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say require a license, not auth token.

### Image pull failed

If `lstk` cannot pull the Docker image, check your network connection and Docker configuration.
On corporate networks, you may need to configure Docker's proxy settings.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth reference the appropriate troubleshooting guide (I think we have one for networking troubleshooting)


### Getting help

If the steps above don't resolve your issue, [contact us](https://localstack.cloud/contact/) or open an issue on the [lstk GitHub repository](https://github.com/localstack/lstk/issues).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The contact form isn't a great format for reporting issues, better point to get help pages.

The lstk GH issues are currently empty, but in case people actually use it, do we actually monitor it?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i.e. since everybody should have a localstack account, can we just ask them to email support?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants