Skip to main content

Start the Local Sandbox

This tutorial provisions real Terraform resources — a KMS key, an S3 bucket, a DynamoDB table, an SNS topic, an SQS queue, and SSM parameters — but it does so against a local sandbox running on your machine instead of a real AWS account. That's what lets the whole tutorial run offline with no cloud credentials.

Prerequisite

The sandbox runs as a container, so you need a container runtime — Docker or Podman — installed and running. Nothing else is required. Atmos detects whichever runtime is available.

How the sandbox is wired up

You don't have to configure endpoints or write a providers.tf for any component. Two pieces of configuration that you already added in Configure Atmos CLI make this work:

  • The local-aws identity in atmos.yaml (kind: aws/emulator, emulator: aws, default: true).
  • The aws emulator component declared in the catalog:
components:
emulator:
aws:
driver: floci/aws
region: "{{ .vars.region }}"

The local-aws identity is the default (default: true), so every backend component runs under it automatically — no per-component identity binding is needed. When you run a Terraform command for one of those components, Atmos:

  • ensures the sandbox container is running,
  • injects the sandbox endpoint and dummy credentials (AWS_ACCESS_KEY_ID=test, etc.) into the Terraform subprocess, and
  • contributes the AWS provider configuration automatically.

The net effect: the components are plain AWS Terraform modules with no provider block and no endpoint configuration, yet they target the sandbox.

Start the sandbox

Start the sandbox for the stack you're going to work in with a single command:

atmos emulator up aws -s plat-ue2-dev

This starts the aws emulator component (declared above) for the plat-ue2-dev stack. The first run pulls the container image, so it can take a moment; subsequent runs are fast.

Inspect and manage the sandbox

The atmos emulator command group manages the sandbox lifecycle:

# Show the running sandbox containers
atmos emulator ps -s plat-ue2-dev

# Stream sandbox logs
atmos emulator logs aws -s plat-ue2-dev

# Stop and remove the sandbox when you're done
atmos emulator down aws -s plat-ue2-dev
tip

For the full command reference, see atmos emulator.

The sandbox is just plumbing — from here on, you work with Atmos exactly as you would against a real cloud account.


Next: describe what to deploy and how it's composed → Create Stacks →