Skip to content

[localstack] LocalStack image requires authentication from March 23, 2026 #465

@HarshCasper

Description

@HarshCasper

Hey folks 👋

I'm Harsh from the LocalStack team. Wanted to flag an upcoming change that will directly affect users of the LocalStack module in this crate.

What's changing: Starting March 23, 2026, localstack/localstack:latest on Docker Hub will consolidate into a single unified image that requires authentication via a LOCALSTACK_AUTH_TOKEN. The free Community image, as it exists today, will no longer be available under that tag without an auth token set.

What this means for this repo:

Any user who instantiates LocalStack::default() after March 23 without a LOCALSTACK_AUTH_TOKEN set will hit an authentication error and the container will fail to start.

The places most likely to need updating:

  • src/localstack/mod.rsLOCALSTACK_AUTH_TOKEN should be passed as an environment variable
  • Module docs / README — auth token setup should be listed as a prerequisite
  • CI/CD workflows — any workflow running LocalStack::default() in tests needs the token injected as a secret

What users will need to do:

  1. Sign up for a free LocalStack account at localstack.cloud
  2. Generate an auth token from the LocalStack Web App
  3. Set LOCALSTACK_AUTH_TOKEN as an environment variable when starting the container

With testcontainers-rs, this would look like:

use testcontainers::runners::AsyncRunner;
use testcontainers_modules::localstack::LocalStack;
use std::env;

#[tokio::test]
async fn test_with_localstack() {
    let request = LocalStack::default()
        .with_env_var("LOCALSTACK_AUTH_TOKEN", env::var("LOCALSTACK_AUTH_TOKEN").unwrap_or_default());
    let container = request.start().await.unwrap();
    // your test code here
}

The good news: A free tier is staying. CI credits are now unlimited on all plans, including free, and open-source projects can apply for free access to paid plans.

Full details in our announcements:

Happy to help with any doc updates, review PRs, or answer questions. Let us know if there's anything we can do to make this transition easier — and thanks for maintaining the LocalStack module for the Rust community! 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions