Overview
The Configuration section covers how to structure your Terraform project, manage multiple environments, configure code quality tools, and understand the automated CI/CD pipeline.
Configuration pages
| Page | What it covers |
|---|---|
| Project Structure | Repository layout, directory organization, key files |
| Environments | Multi-environment management with isolated state |
| CI/CD Workflows | GitHub Actions validation and deployment |
| Linting and Code Analysis | TFLint and Checkov configuration |
Key concepts
Environment isolation
Each environment maintains:
- Separate state files in S3
- Independent backend configurations
- Environment-specific variables with defaults
- Dedicated GitHub Actions workflows
Backend management
The starter kit uses:
- S3 for remote state storage with versioning and encryption
- S3 native state locking (Terraform 1.10+) to prevent concurrent modifications
- Unique state keys per environment for complete isolation
Automated workflows
GitHub Actions workflows provide:
- Code quality checks with TFLint
- Security scanning with Checkov
- Plan generation posted as PR comments
- Automated deployments on merge to main