overcast

package module
v0.0.1-alpha.30 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2026 License: MIT Imports: 1 Imported by: 0

README

Overcast

A fast, free, open-source local cloud service emulator.

Overcast emulates the APIs of popular cloud services so you can develop and test locally without an internet connection, a cloud account, or a bill.

CI GitHub release Container image

Every change is tested against eight official AWS clients — the AWS CLI, the CDK, and the Go, JavaScript, Python, Java, .NET, and Rust SDKs — via the compatibility suite.


Project goals

  1. Works with the official AWS CLIaws s3 mb s3://my-bucket --endpoint-url http://localhost:4566 just works.
  2. Works with all official AWS SDK clients — Go, JavaScript/TypeScript, Python, Java, .NET without code changes.
  3. Drop-in replacement for LocalStack — same port (4566), same env vars mapped, same path conventions. Switching requires changing one line.
  4. Zero configurationdocker run -p 4566:4566 ghcr.io/neaox/overcast:alpha is the full getting-started guide.
  5. Fast — sub-200ms startup, <15 MiB idle memory, tiny Docker image. CI pipelines should not wait for the emulator.
  6. Honest about gaps — unimplemented endpoints return 501 Not Implemented with a clear message and a link to the support matrix. Silent failures are worse than loud ones.
  7. Fully open — MIT licensed, no auth tokens, no telemetry, no usage limits, no feature gates. Free forever for every use case including CI/CD.
  8. Production-quality internals — race-safe, well-tested, well-documented, easy to contribute to.

[!CAUTION] Overcast is a local development and CI tool only. Never expose it on a public network, use it as a staging environment, or make production go/no-go decisions based on its behavior. Details: What Overcast is NOT.

Contents


Quick start

Two images are published to GHCR:

Image Description Size
ghcr.io/neaox/overcast Full image with web management console (ports 4566 + 4567) ~50 MB
ghcr.io/neaox/overcast-slim Headless — Go binary only, no UI (port 4566) ~20 MB

Overcast is pre-1.0, so every build publishes to the :alpha channel tag and to an exact version tag such as :0.0.1-alpha.25. There is no :latest tag yet — it starts publishing with the first stable release. Pin the exact version in CI; use :alpha to track the newest build.

# Full image (with web UI on :4567)
docker run --rm -p 4566:4566 -p 4567:4567 ghcr.io/neaox/overcast:alpha

# Slim image (CI pipelines, no UI)
docker run --rm -p 4566:4566 ghcr.io/neaox/overcast-slim:alpha

Point any AWS SDK or the AWS CLI at it:

export AWS_ENDPOINT_URL=http://localhost:4566
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
export AWS_DEFAULT_REGION=us-east-1

# AWS CLI
aws s3 mb s3://my-bucket
aws sqs create-queue --queue-name my-queue
aws dynamodb list-tables

# No other changes needed — use the SDK exactly as you would against real AWS.

What Overcast is NOT

Not for Why
Staging environments API parity is not 100%. Differences are documented but exist.
Production traffic Overcast is not hardened, not monitored, not replicated.
Self-hosted AWS replacement This is not a platform you host for others. IAM resources are emulated, but Overcast is not a security boundary and has no durability guarantees. Running it as a persistent internal service is building on quicksand.
Security testing Credentials are accepted. SigV4 validation is optional, and IAM policies are not enforced as an authorization layer.
Performance / load testing AWS throttling, quotas, and latency are not emulated.
IAM policy testing IAM resource APIs exist for local development and IaC compatibility, but policy enforcement is out of scope. All operations are permitted.
CloudFormation / CDK deploys CloudFormation emulation supports ~50 resource types. cdk deploy works for stacks using supported types. Coverage is not exhaustive.

Running with Docker

docker run
# Full image with web console
docker run --rm \
  -p 4566:4566 \
  -p 4567:4567 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e OVERCAST_LOG_LEVEL=debug \
  ghcr.io/neaox/overcast:alpha

# With persistent data (survives container restarts) — mounting a volume at
# /data is enough; OVERCAST_STATE defaults to "auto", which resolves to
# hybrid automatically whenever a volume or bind mount is present there.
docker run --rm \
  -p 4566:4566 \
  -p 4567:4567 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v ~/.overcast:/data \
  ghcr.io/neaox/overcast:alpha

# Slim image (no web UI) — no Docker socket needed when only using
# non-container services (S3, SQS, DynamoDB, SNS, etc.)
docker run --rm \
  -p 4566:4566 \
  ghcr.io/neaox/overcast-slim:alpha
# docker-compose.yml
services:
  overcast:
    image: ghcr.io/neaox/overcast:alpha
    ports:
      - "4566:4566"
      - "4567:4567"
    environment:
      # OVERCAST_STATE is left unset: mounting overcast-data below at /data
      # makes auto resolve to hybrid automatically. Set OVERCAST_STATE
      # explicitly (memory | hybrid | persistent | wal) to override.
      OVERCAST_LOG_LEVEL: debug
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # required for Lambda, ECS, RDS, EC2
      - overcast-data:/data # mounting this is what makes auto resolve to hybrid
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://localhost:4566/_health"]
      interval: 5s
      timeout: 3s
      retries: 5

volumes:
  overcast-data:
docker compose up

[!NOTE] Docker socket and container-based services

Lambda, ECS, RDS, and EC2 launch sibling containers on the host's Docker daemon. This requires bind-mounting the Docker socket (/var/run/docker.sock). If the socket is not mounted, these services degrade gracefully — metadata operations (create, describe, list, delete) still work, but Lambda invocations return mock responses and ECS/RDS containers won't start.

Services that don't need the Docker socket (S3, SQS, DynamoDB, SNS, CloudWatch Logs, SES, Secrets Manager, KMS, SSM, STS, IAM, etc.) work without it.

CI environments where socket mounting is restricted can use a Docker-in-Docker (DinD) sidecar instead. Set LAMBDA_DOCKER_SOCKET (and optionally ECS_DOCKER_SOCKET / RDS_DOCKER_SOCKET) to a tcp:// endpoint:

services:
  dind:
    image: docker:dind
    privileged: true
    environment:
      DOCKER_TLS_CERTDIR: "" # disable TLS for simplicity
  overcast:
    image: ghcr.io/neaox/overcast:alpha
    ports:
      - "4566:4566"
    environment:
      LAMBDA_DOCKER_SOCKET: tcp://dind:2375
    depends_on:
      - dind

Native binaries

Download pre-built binaries from the GitHub releases page. No runtime dependencies — a single static binary is all you need.

Binary variants

Two binaries are published for every release:

Binary Platforms Description
overcast Linux amd64/arm64, macOS amd64/arm64, Windows amd64 Full binary — emulator + embedded web console + Go BFF. All subcommands available.
overcastd Linux amd64/arm64, macOS amd64/arm64, Windows amd64 Slim binary — emulator only, no web UI. Smaller footprint for CI and servers.

Both binaries share the same overcast serve entrypoint and respond identically to AWS SDK clients. The only difference is that overcastd returns 404 for web console requests.

Installation

macOS / Linux — manual:

# Replace VERSION and PLATFORM (linux-amd64, linux-arm64, darwin-amd64, darwin-arm64)
curl -L https://github.com/Neaox/overcast/releases/latest/download/overcast-linux-amd64 \
  -o /usr/local/bin/overcast
chmod +x /usr/local/bin/overcast

Windows — manual:

Download overcast-windows-amd64.exe from the releases page and place it anywhere on your PATH.

Build from source:

git clone https://github.com/Neaox/overcast.git && cd overcast
# Full binary (builds web UI first)
cd web && pnpm install --frozen-lockfile && pnpm run build && cd ..
go build -trimpath -o overcast ./cmd/overcast

# Slim binary (no Node.js needed)
go build -trimpath -tags slim -o overcastd ./cmd/overcast
Commands

All subcommands are available in both overcast and overcastd (the web UI is simply absent in the slim binary). Run overcast --help or overcast <command> --help for the full flag reference.

Command Description
overcast serve Start the AWS service emulator
overcast bridge Publish .local domains via mDNS and start a port-80 reverse proxy
overcast status Inspect a running daemon (version, uptime, state backend, service list)
overcast trust Manage the local trust store for self-signed TLS certificates
overcast serve

Starts the emulator on port 4566 (configurable). All configuration is via environment variables.

overcast serve

# Common overrides
OVERCAST_PORT=4566 \
OVERCAST_STATE=hybrid \
OVERCAST_LOG_LEVEL=debug \
  overcast serve

Key flags / env vars:

Flag / Env var Default Description
--ui-port / OVERCAST_UI_PORT 4567 Web console port. 0 disables the UI. Falls back to a free ephemeral port if 4567 is taken.
--bridge / — off Also run the mDNS bridge and port-80 proxy (see overcast bridge).
--bridge-bind-ip 127.0.0.1 IP advertised in mDNS when --bridge is set.
OVERCAST_PORT 4566 AWS API port.
OVERCAST_HOST 127.0.0.1 Interface to bind.
OVERCAST_STATE auto State backend: auto (default — resolves to hybrid or memory, see storage.md), memory, hybrid, persistent, wal.

See the configuration reference for the full list.

The web console (overcast full binary only) is served on port 4567 and loads lazily on first request — no warm-up needed. Point a browser at http://localhost:4567 after starting the server.

overcast bridge

Connects to a running overcast serve instance and:

  • Publishes overcast.local (emulator API) and overcast-app.local (web console) on the host mDNS responder so you can reach them from any browser or tool without editing /etc/hosts.
  • Watches the emulator's domain registry and advertises every registered API Gateway custom domain on the same responder.
  • Starts an HTTP reverse proxy on port 80 that routes requests by Host header — no port number needed when accessing via .local names.

[!NOTE] Port 80 conflicts. Port 80 is commonly held by local web servers (nginx, Apache, IIS) or requires elevated privileges to bind. If the port is busy or the bind fails, overcast bridge logs a warning with platform-specific instructions and continues — mDNS still works, you just need the port number in the URL (e.g. http://overcast.local:4566).

To avoid the conflict entirely, use --http-port 0 (mDNS-only, no proxy) or pick a free high port with --http-port 8080. See Platform notes for privilege setup.

# In a second terminal, while overcast serve is running
overcast bridge

# Point to a non-default instance
overcast bridge --endpoint http://localhost:4566

# Custom bind IP (if your machine has multiple interfaces)
overcast bridge --bind-ip 192.168.1.100

# mDNS only — no port-80 proxy (.local names resolve but need a port in the URL)
overcast bridge --http-port 0

# Use a non-privileged port (http://overcast.local:8080 etc.)
overcast bridge --http-port 8080

# Run bridge inline with the server (--bridge flag on serve)
overcast serve --bridge

After overcast bridge is running:

URL Routed to
http://overcast.local Emulator API (port 4566)
http://overcast-app.local Web console (port 4567)
http://api.myapp.local Emulator (API Gateway custom domain)
overcast status

Prints the current state of a running daemon — version, uptime, active state backend, enabled services, and listener address.

overcast status
overcast status --endpoint http://localhost:4566
overcast https

One-shot HTTPS setup: creates the local overcast CA if missing, installs it into the system trust store (approve the OS prompt — that's the only manual step), and mints the server certificate. Serving both the API and the web UI over TLS unlocks browser HTTP/2, which keeps the web console responsive under load. See docs/https.md.

overcast https enable            # once per machine
OVERCAST_TLS=auto overcast serve # HTTPS + HTTP/2 on both listeners
# → https://localhost.overcast.sh:4567

overcast https status            # report the setup state
overcast https disable           # remove the CA from the trust store

Daemon running in Docker? Trust it without a shared volume — the daemon serves its CA certificate at /_overcast/ca.pem and the CLI fetches it:

overcast https enable --endpoint http://localhost:4566

(Loopback endpoints only, unless you acknowledge the trust decision with --trust-remote. The same --endpoint works on status/disable and on the trust subcommands.)

overcast trust

Lower-level management of the overcast CA in the system trust store (the https subcommands build on it). Useful with OVERCAST_TLS=auto, or when scripting the pieces separately.

# Install the CA certificate into the system trust store
overcast trust install

# Report whether it is installed
overcast trust status

# Remove it (the CA key material on disk is kept)
overcast trust uninstall

[!NOTE] On Windows the CA goes into the current user's certificate store (a confirmation dialog appears); on macOS into the login keychain (an authorisation prompt appears); on Linux into the system CA bundle, which requires root (sudo overcast trust install). Firefox/Chromium on Linux read their own NSS store — see docs/https.md.

Platform notes
macOS
  • All four subcommands work out of the box.
  • overcast bridge uses the built-in dns-sd tool (part of Bonjour). No additional software needed.
  • Binding the port-80 proxy requires sudo:
    sudo overcast bridge
    # or run on a high port and use a local redirect:
    overcast bridge --http-port 8080
    
Linux
  • All four subcommands work out of the box.
  • overcast bridge requires avahi for mDNS. Install it with your package manager:
    # Debian / Ubuntu
    sudo apt install avahi-daemon avahi-utils
    # Fedora / RHEL
    sudo dnf install avahi avahi-tools
    
  • Binding port 80 without running as root requires the cap_net_bind_service capability:
    sudo setcap cap_net_bind_service+ep $(which overcast)
    overcast bridge          # now binds :80 as a normal user
    
    Alternatively, run sudo overcast bridge or use --http-port to pick a high port.
  • ARM64 (Raspberry Pi, AWS Graviton): pre-built linux-arm64 binaries are published for every release.
Windows
  • All four subcommands are supported. Binaries are console .exe files — no installer, no service.
  • overcast bridge uses the Windows DNS-SD service (built into Windows 10 1803+ and Windows Server 2019+). If the service is not running, start it:
    Start-Service "DNS Client"
    
  • Binding port 80 requires a URL reservation (run once in an elevated shell):
    netsh http add urlacl url=http://+:80/ user=%USERNAME%
    overcast bridge          # now binds :80 as a normal user
    
    Or use --http-port to pick a port above 1024.
  • Init hooks (OVERCAST_INIT_DIRS) run via cmd.exe /c on Windows; .sh scripts require WSL or Git Bash.
  • overcast trust modifies the Windows Certificate Store and will prompt for UAC elevation.

Supported services

Overcast currently registers 50 AWS services. Coverage ranges from broad service emulation to minimal discovery/IaC stubs; check the per-service docs for exact endpoint support.

ACM, API Gateway, AppConfig, AppConfigData, AppRegistry, AppSync, Athena, Auto Scaling, Backup, Bedrock, CloudFormation, CloudFront, CloudTrail, CloudWatch, CloudWatch Logs, Cognito, DynamoDB, DynamoDB Streams, EC2 / VPC, ECR, ECS, EFS, EKS, ElastiCache, ELBv2, EventBridge, Firehose, Glue, IAM, Kinesis, KMS, Lambda, MSK, OpenSearch, Organizations, Pipes, RDS, Route 53, S3, Scheduler, Secrets Manager, SES, Shield, SNS, SQS, SSM, Step Functions, STS, Transfer Family, WAF v2.

Some services require Docker socket access for full runtime behavior:

  • Lambda, ECS, RDS, EC2/VPC, and ElastiCache can launch sibling containers.
  • Without Docker, their metadata/control-plane APIs still work where possible, but runtime execution falls back to metadata-only or stub behavior.

IAM is implemented for local development and CloudFormation/CDK compatibility, but IAM policies are not enforced as an authorization layer.

See the service emulation reference for per-endpoint coverage tables, or browse the generated summary in STATUS.md.


Documentation

Full documentation lives in docs/:

Guide Description
Using AWS SDKs and CLI Configure the AWS CLI, Node.js, Python, Go, Java, .NET, Rust, Terraform
Using AWS CDK cdk bootstrap, cdk deploy, supported resource types, troubleshooting
Networking and host-based addressing Host-routed endpoints (API Gateway, Lambda function URLs, AppSync), wildcard DNS
Service reference Per-service endpoint coverage matrices
Configuration reference All environment variables
Persistence Storage backends: memory, hybrid, persistent, WAL
HTTPS / TLS Self-signed certs for local HTTPS
Event pipelines SNS→SQS, SQS→Lambda, DynamoDB Streams
Web management console Built-in dashboard on port 4567
Debug endpoints Health, metrics, state dump, pprof
Migrating from LocalStack Drop-in replacement guide
Development setup Building from source

Contributing

See CONTRIBUTING.md for coding standards and workflow, and docs/dev/development-setup.md for building from source.

Disclaimer

Overcast is an independent open-source project. It is not affiliated with, endorsed by, or sponsored by Amazon Web Services. "AWS" and all AWS service names are trademarks of Amazon.com, Inc. or its affiliates, used here solely to describe compatibility.

Overcast is a work in progress, provided as-is and on a best-effort basis, without warranty of any kind, under the MIT License. It aims for high fidelity on the most-used AWS API surface, but it is not a perfect replica: there are compatibility gaps we know about (documented in the per-service support matrices) and inevitably some we haven't found yet. Fidelity improves all the time — and discrepancy reports are what drive that work. If you find behavior that differs from real AWS, please open a compatibility issue.

Documentation

Overview

Package overcast exposes embedded web assets for use by the overcast binary. This file lives at the module root so it can reach both web/dist and docs via straight descendant paths (//go:embed cannot use ../ to climb the tree).

Index

Constants

This section is empty.

Variables

View Source
var DocsServicesFS embed.FS

DocsServicesFS contains published docs served by the BFF docs endpoints. Developer-only planning notes under docs/plans and contributor-only docs under docs/dev are intentionally excluded.

View Source
var WebDistFS embed.FS

WebDistFS contains the pre-built SPA static files (web/dist/). Build the web UI before compiling: cd web && pnpm run build

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd
awsmodelgen command
Command awsmodelgen converts pinned AWS Smithy JSON AST models into compact static operation metadata.
Command awsmodelgen converts pinned AWS Smithy JSON AST models into compact static operation metadata.
compat command
cmd/compat/embed.go — wires the embedded compat UI into the binary.
cmd/compat/embed.go — wires the embedded compat UI into the binary.
overcast command
Command overcast is the unified CLI for the Overcast AWS emulator.
Command overcast is the unified CLI for the Overcast AWS emulator.
overcast-mcp command
stub-report command
Command stub-report scans the Overcast codebase for typed operation manifests and prints a summary report per service.
Command stub-report scans the Overcast codebase for typed operation manifests and prints a summary report per service.
compat/embed.go — embeds the pre-built compatibility UI into the package.
compat/embed.go — embeds the pre-built compatibility UI into the package.
internal
alarmaction
Package alarmaction delivers CloudWatch alarm state transitions to whatever the alarm's action ARNs name.
Package alarmaction delivers CloudWatch alarm state transitions to whatever the alarm's action ARNs name.
awsapi
Code generated by cmd/awsmodelgen; DO NOT EDIT.
Code generated by cmd/awsmodelgen; DO NOT EDIT.
bff
Package bff implements the browser-facing API layer (BFF) for the Overcast web console.
Package bff implements the browser-facing API layer (BFF) for the Overcast web console.
capabilities
Package capabilities declares the emulation status of each AWS API operation.
Package capabilities declares the emulation status of each AWS API operation.
clock
Package clock provides a thin re-export of github.com/benbjohnson/clock so the rest of the codebase imports a single internal path and is insulated from upstream API changes.
Package clock provides a thin re-export of github.com/benbjohnson/clock so the rest of the codebase imports a single internal path and is insulated from upstream API changes.
config
Package config loads and validates all runtime configuration from environment variables.
Package config loads and validates all runtime configuration from environment variables.
containerendpoint
Package containerendpoint keeps AWS resource URLs dialable from inside the containers Overcast starts — Lambda functions, ECS tasks — which are siblings of the Overcast container rather than children of it.
Package containerendpoint keeps AWS resource URLs dialable from inside the containers Overcast starts — Lambda functions, ECS tasks — which are siblings of the Overcast container rather than children of it.
dns
Package dns serves the split-horizon hostnames Overcast advertises, to the containers Overcast starts.
Package dns serves the split-horizon hostnames Overcast advertises, to the containers Overcast starts.
docker
Package docker provides a thin Docker Engine API client.
Package docker provides a thin Docker Engine API client.
docssearch
Package docssearch serves search over the published docs/ tree.
Package docssearch serves search over the published docs/ tree.
domainregistry
Package domainregistry tracks the set of user-registered custom domain names that map to overcast resources (API Gateway custom domains today, CloudFront alias names tomorrow) and broadcasts Added / Removed events to subscribed watchers.
Package domainregistry tracks the set of user-registered custom domain names that map to overcast resources (API Gateway custom domains today, CloudFront alias names tomorrow) and broadcasts Added / Removed events to subscribed watchers.
events
Package events provides the internal event bus used for cross-service notifications (e.g.
Package events provides the internal event bus used for cross-service notifications (e.g.
eventtarget
Package eventtarget resolves and delivers event payloads to AWS target ARNs.
Package eventtarget resolves and delivers event payloads to AWS target ARNs.
hostbridge
Package hostbridge wires a stream of domain-registration events from the overcast emulator to the host machine's mDNS responder and local trust store.
Package hostbridge wires a stream of domain-registration events from the overcast emulator to the host machine's mDNS responder and local trust store.
hostbridge/mdns
Package mdns defines the Publisher contract used by the overcast host CLI to advertise custom domain names through the operating system's multicast DNS responder (Bonjour on macOS, Avahi on Linux, DNS-SD on Windows).
Package mdns defines the Publisher contract used by the overcast host CLI to advertise custom domain names through the operating system's multicast DNS responder (Bonjour on macOS, Avahi on Linux, DNS-SD on Windows).
hostbridge/trust
Package trust owns the Overcast local Certificate Authority: minting it, signing leaf server certificates from it (see ca.go), and installing the CA certificate into the operating system's trust store so browsers and HTTP clients accept Overcast's HTTPS without the usual self-signed-cert dance.
Package trust owns the Overcast local Certificate Authority: minting it, signing leaf server certificates from it (see ca.go), and installing the CA certificate into the operating system's trust store so browsers and HTTP clients accept Overcast's HTTPS without the usual self-signed-cert dance.
iampolicy
Package iampolicy implements the AWS IAM policy grammar and AWS's policy evaluation algorithm (explicit deny wins, then allow, otherwise implicit deny).
Package iampolicy implements the AWS IAM policy grammar and AWS's policy evaluation algorithm (explicit deny wins, then allow, otherwise implicit deny).
inithooks
Package inithooks discovers and executes user-provided shell scripts at well-known lifecycle stages, compatible with LocalStack's init hook system.
Package inithooks discovers and executes user-provided shell scripts at well-known lifecycle stages, compatible with LocalStack's init hook system.
lifecycle
Package lifecycle provides a shared, testable scheduler for async state transitions.
Package lifecycle provides a shared, testable scheduler for async state transitions.
logging
Package logging holds Overcast's custom log-level machinery: the TRACE level and its supporting parse/encode helpers.
Package logging holds Overcast's custom log-level machinery: the TRACE level and its supporting parse/encode helpers.
mcp
middleware
Package middleware provides HTTP middleware for the emulator.
Package middleware provides HTTP middleware for the emulator.
protocol
Package protocol provides shared AWS protocol helpers used by all service handlers: error serialisation, request IDs, ARN construction, and response writing.
Package protocol provides shared AWS protocol helpers used by all service handlers: error serialisation, request IDs, ARN construction, and response writing.
protocol/codec
Package codec defines the wire-protocol abstraction used by Overcast's typed operation dispatcher.
Package codec defines the wire-protocol abstraction used by Overcast's typed operation dispatcher.
protocol/op
Package op defines the typed operation dispatcher used by Overcast's Smithy-aligned services.
Package op defines the typed operation dispatcher used by Overcast's Smithy-aligned services.
router
Package router wires together all service handlers into a single HTTP server.
Package router wires together all service handlers into a single HTTP server.
services/acm
Package acm provides a basic emulation of AWS Certificate Manager (ACM).
Package acm provides a basic emulation of AWS Certificate Manager (ACM).
services/apigateway
Package apigateway provides emulation of Amazon API Gateway (REST v1 + HTTP v2).
Package apigateway provides emulation of Amazon API Gateway (REST v1 + HTTP v2).
services/appconfig
Package appconfig provides a basic emulation of AWS AppConfig.
Package appconfig provides a basic emulation of AWS AppConfig.
services/appconfigdata
Package appconfigdata provides the AWS AppConfig data plane emulation.
Package appconfigdata provides the AWS AppConfig data plane emulation.
services/appregistry
Package appregistry provides emulation of AWS Service Catalog AppRegistry.
Package appregistry provides emulation of AWS Service Catalog AppRegistry.
services/appsync
Package appsync provides emulation of AWS AppSync (managed GraphQL).
Package appsync provides emulation of AWS AppSync (managed GraphQL).
services/athena
Package athena provides a basic emulation of Amazon Athena.
Package athena provides a basic emulation of Amazon Athena.
services/autoscaling
Package autoscaling emulates Amazon EC2 Auto Scaling, including the reconciliation loop that makes a group's DesiredCapacity mean something.
Package autoscaling emulates Amazon EC2 Auto Scaling, including the reconciliation loop that makes a group's DesiredCapacity mean something.
services/bedrock
Package bedrock provides a basic emulation of Amazon Bedrock Runtime.
Package bedrock provides a basic emulation of Amazon Bedrock Runtime.
services/cloudformation
Package cloudformation provides emulation of AWS CloudFormation.
Package cloudformation provides emulation of AWS CloudFormation.
services/cloudfront
Package cloudfront provides emulation of Amazon CloudFront (CDN).
Package cloudfront provides emulation of Amazon CloudFront (CDN).
services/cloudtrail
Package cloudtrail provides a metadata-only AWS CloudTrail emulator.
Package cloudtrail provides a metadata-only AWS CloudTrail emulator.
services/cloudwatch
Package cloudwatch provides a basic emulation of Amazon CloudWatch (metrics + alarms).
Package cloudwatch provides a basic emulation of Amazon CloudWatch (metrics + alarms).
services/cloudwatch/logs
Package logs: migration registration for the logs_events dedicated table (docs/plans/storage-plan.md Phase 2 item 2.3).
Package logs: migration registration for the logs_events dedicated table (docs/plans/storage-plan.md Phase 2 item 2.3).
services/cognito
Package cognito provides emulation of Amazon Cognito User Pools (IDP).
Package cognito provides emulation of Amazon Cognito User Pools (IDP).
services/dynamodb
Package dynamodb: migration registration for the dynamodb_items and dynamodb_stream_records dedicated tables (docs/plans/storage-plan.md Phase 3 item 3.9).
Package dynamodb: migration registration for the dynamodb_items and dynamodb_stream_records dedicated tables (docs/plans/storage-plan.md Phase 3 item 3.9).
services/dynamodbstreams
Package dynamodbstreams implements the AWS DynamoDB Streams API emulator.
Package dynamodbstreams implements the AWS DynamoDB Streams API emulator.
services/ec2
Package ec2 provides emulation of Amazon EC2 and VPC operations.
Package ec2 provides emulation of Amazon EC2 and VPC operations.
services/ecr
Package ecr provides emulation of Amazon Elastic Container Registry (ECR).
Package ecr provides emulation of Amazon Elastic Container Registry (ECR).
services/ecs
Package ecs provides emulation of Amazon Elastic Container Service (ECS).
Package ecs provides emulation of Amazon Elastic Container Service (ECS).
services/efs
Package efs provides Amazon Elastic File System (EFS) control-plane emulation.
Package efs provides Amazon Elastic File System (EFS) control-plane emulation.
services/eks
Package eks provides Amazon EKS control-plane emulation.
Package eks provides Amazon EKS control-plane emulation.
services/elasticache
Package elasticache provides emulation of Amazon ElastiCache.
Package elasticache provides emulation of Amazon ElastiCache.
services/eventbridge
Package eventbridge provides emulation of Amazon EventBridge.
Package eventbridge provides emulation of Amazon EventBridge.
services/firehose
Package firehose provides a basic emulation of Amazon Data Firehose (formerly Kinesis Data Firehose).
Package firehose provides a basic emulation of Amazon Data Firehose (formerly Kinesis Data Firehose).
services/glue
Package glue provides a basic emulation of AWS Glue Data Catalog.
Package glue provides a basic emulation of AWS Glue Data Catalog.
services/iam
Package iam provides emulation of AWS Identity and Access Management (IAM).
Package iam provides emulation of AWS Identity and Access Management (IAM).
services/kinesis
Package kinesis provides emulation of Amazon Kinesis Data Streams.
Package kinesis provides emulation of Amazon Kinesis Data Streams.
services/kms
Package kms provides emulation of AWS Key Management Service (KMS).
Package kms provides emulation of AWS Key Management Service (KMS).
services/lambda
Package lambda is a stub — handlers are implemented test-first.
Package lambda is a stub — handlers are implemented test-first.
services/msk
Package msk provides emulation of Amazon MSK (Managed Streaming for Kafka).
Package msk provides emulation of Amazon MSK (Managed Streaming for Kafka).
services/opensearch
Package opensearch provides a basic emulation of Amazon OpenSearch Service.
Package opensearch provides a basic emulation of Amazon OpenSearch Service.
services/organizations
Package organizations provides stub emulation of AWS Organizations.
Package organizations provides stub emulation of AWS Organizations.
services/pipes
Package pipes emulates the AWS EventBridge Pipes service.
Package pipes emulates the AWS EventBridge Pipes service.
services/rds
Package rds provides emulation of Amazon RDS.
Package rds provides emulation of Amazon RDS.
services/route53
Package route53 emulates Amazon Route 53 at inert level: hosted zones, resource record sets, tags, and health checks exist as real metadata with AWS-faithful validation, defaults, and error codes — but no DNS is served.
Package route53 emulates Amazon Route 53 at inert level: hosted zones, resource record sets, tags, and health checks exist as real metadata with AWS-faithful validation, defaults, and error codes — but no DNS is served.
services/s3
Package s3 implements the AWS S3 REST API emulator.
Package s3 implements the AWS S3 REST API emulator.
services/scheduler
Package scheduler provides emulation of Amazon EventBridge Scheduler.
Package scheduler provides emulation of Amazon EventBridge Scheduler.
services/secretsmanager
Package secretsmanager provides emulation of AWS Secrets Manager.
Package secretsmanager provides emulation of AWS Secrets Manager.
services/ses
Package ses provides emulation of Amazon Simple Email Service (SES v1).
Package ses provides emulation of Amazon Simple Email Service (SES v1).
services/shield
Package shield provides a basic emulation of AWS Shield (DDoS protection).
Package shield provides a basic emulation of AWS Shield (DDoS protection).
services/sns
Package sns provides emulation of the Amazon Simple Notification Service.
Package sns provides emulation of the Amazon Simple Notification Service.
services/sqs
Package sqs: migration registration for the sqs_messages dedicated table (docs/plans/storage-plan.md item 3.10).
Package sqs: migration registration for the sqs_messages dedicated table (docs/plans/storage-plan.md item 3.10).
services/ssm
Package ssm provides emulation of AWS Systems Manager Parameter Store.
Package ssm provides emulation of AWS Systems Manager Parameter Store.
services/stepfunctions
Package stepfunctions provides emulation of AWS Step Functions.
Package stepfunctions provides emulation of AWS Step Functions.
services/sts
Package sts provides emulation of AWS Security Token Service (STS).
Package sts provides emulation of AWS Security Token Service (STS).
services/waf
Package waf provides emulation of AWS WAF v2 (Web Application Firewall).
Package waf provides emulation of AWS WAF v2 (Web Application Firewall).
serviceutil
Package serviceutil provides shared, generic utilities used across all service handlers.
Package serviceutil provides shared, generic utilities used across all service handlers.
smtp
Package smtp provides a minimal SMTP server for capturing outbound emails in local development, and a Mailer interface for sending emails that works with both the built-in capture server and an external SMTP relay.
Package smtp provides a minimal SMTP server for capturing outbound emails in local development, and a Mailer interface for sending emails that works with both the built-in capture server and an external SMTP relay.
state
Package state defines the Store interface and provides four implementations:
Package state defines the Store interface and provides four implementations:
tests

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL