Terminal-based deployment tool for AWS services. Defines desired service versions in YAML config files and can verify/deploy them.
- Go 1.23, modules
- CLI framework: Cobra
- AWS SDK v2 (Lambda, ECS, EventBridge)
- Config format: YAML
cmd/- CLI commands (deploy, verify, update)engine/- Deployment engines (Lambda, ECS, ECS Scheduled Tasks)deployments/- Config parsing, deploy/verify/update orchestrationutils/- Shared helpers
No Makefile. Use standard Go commands:
go build ./...
go test ./...
go install . # install locally- PR:
go build ./...(.github/workflows/pr-build.yml) - Release: Tag
v*.*.*triggers GoReleaser (.github/workflows/release.yml). Create releases via GitHub UI.source-deploymentspicks up the latest release automatically.
- Each deployment engine implements the
DeploymentEngineinterface inengine/core.goand registers itself viaRegisterDeploymentEnginein aninit()function. - Config files are per-environment YAML (e.g.
development.yml,production.yml). - The
updatecommand only modifies the YAML file; it does not deploy. Rundeployseparately.