CI/CD
Continuous Integration and Continuous Deployment (CI/CD) is essential for maintaining high-quality infrastructure code.
Overview
All Rivia modules include pre-configured GitHub Actions workflows for:
- Terraform Formatting: Ensures consistent code style
- Terraform Validation: Validates syntax and configuration
- TFLint: Static analysis for Terraform code
- Checkov: Security scanning with CIS benchmarks
- terraform-docs: Automatic documentation generation
Workflow Structure
Our CI/CD workflows run on:
- Pull Requests: Validates changes before merging
- Main Branch: Ensures main branch always passes checks
- Releases: Automated versioning and release creation
GitHub Actions
Each module includes .github/workflows/checkov-pr.yml that runs:
- Terraform format check
- Terraform validation
- TFLint analysis
- Checkov security scan (CIS Azure/AWS/GCP)
- terraform-docs verification
Best Practices
-
Always run checks locally before pushing:
terraform fmt -recursive
terraform validate
tflint -
Keep documentation updated: Run
terraform-docsbefore committing -
Review security findings: Address Checkov findings before merging
-
Use semantic versioning: Follow our versioning guidelines for releases