Multiple Environments
Manage dev, staging, and production as separate deployments with create-environment.
Recommended: Use create-environment
make create-environment-aws # or gcp / azure
Create one environment per target: dev, staging, prod.
Directory Structure
environments/
├── aws-eks-dev/
│ ├── main.tf
│ ├── terraform.tfvars
│ └── sligo-service-account-key.json
├── aws-eks-staging/
│ ├── main.tf
│ ├── terraform.tfvars
│ └── sligo-service-account-key.json
└── aws-eks-prod/
├── main.tf
├── terraform.tfvars
└── sligo-service-account-key.json
Each directory has its own Terraform state. Deploy independently:
cd environments/aws-eks-dev && terraform apply
cd ../aws-eks-prod && terraform apply
Configuration Differences
| Setting | Dev | Staging | Prod |
|---|---|---|---|
cluster_name |
sligo-dev | sligo-staging | sligo-prod |
domain_name |
dev.example.com | staging.example.com | app.example.com |
| Node/DB size | Smaller | Medium | Larger |
| Secrets | Different per env | Different per env | Different per env |
Never reuse production secrets in dev or staging.
Same Service Account Key
You can use the same Sligo service account key for all environments — they all pull from your container repository.