Configuration

Configure environments, project structure, code quality tools, and CI/CD workflows for the AWS Terraform Starter Kit.


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

PageWhat it covers
Project StructureRepository layout, directory organization, key files
EnvironmentsMulti-environment management with isolated state
CI/CD WorkflowsGitHub Actions validation and deployment
Linting and Code AnalysisTFLint 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
  • Install - Initial setup and configuration
  • Guides - Day-to-day development workflows
  • Reference - Detailed tool documentation