Terraform + GitHub Actions for AWS serverless deployments.
Lambda + ECS with CodeDeploy rollouts, plus provisioned concurrency controls for Lambda — driven by clean module variables and just recipes.
- Terraform/Terragrunt stacks for a typical AWS application shape: APIs, workers, frontend, database, auth, and messaging
- GitHub Actions workflows for infrastructure apply, artifact build, code deploy, and destroy
- shared deployment patterns for Lambda and ECS, with repo-local
justcommands for local and CI operations - runtime and infrastructure layouts designed to be extended without having to rediscover the whole repo each time
This repo uses Terragrunt dependency wiring and plan-time mocks for bootstrap-sensitive cross-stack contracts.
See infra/README.md for the dependency strategy, mock-output rules, and saved-plan caveats.
Use CONTRIBUTING.md for expectations when changing the repo itself.
Local stack commands, common just tasks, AWS prerequisites, and OIDC bootstrap commands live in Get Started Locally.
For focused infra changes such as:
- upgrading the database
- changing a Lambda env var
- adding an API route
- changing a security group
see infra/README.md.
For Lambda provisioned concurrency patterns and example provisioned_config shapes, see:
For ECS scaling patterns and scaling_strategy examples, see:
For the deployment model, runtime rollout split, and strategy overview, see:
- CI contracts and feasibility checks: .github/docs/README.md
- Lambda source layout: lambdas/README.md
- Container source layout: containers/README.md
- Frontend source layout and local proxy: frontend/README.md
- Infra layout and stack glossary: infra/README.md
- OIDC role ownership and setup contract: infra/modules/aws/_shared/oidc/README.md
- Shared Lambda deployment and provisioned concurrency behavior: infra/modules/aws/_shared/lambda/README.md
- Shared ECS deployment and scaling behavior: infra/modules/aws/_shared/service/README.md
- Shared network and routing surface: infra/modules/aws/network/README.md
- Frontend auth contract: infra/modules/aws/cognito/README.md
- Frontend hosting contract: infra/modules/aws/frontend/README.md
- Runtime log dashboard: infra/modules/aws/observability/README.md
- Get started locally, prerequisites, and bootstrap commands: docs/get-started-locally.md