Overview
- Opinionated, purpose built Terraform Modules
- Implement specific requirements and best-practices
- Codify business logic and policies
- Standardize, automate and centralise repetitive creation of Terraform Resources
- Configuration in YAML files rather than Terraform Variables
- Single module call parses YAML files for multiple instantiations, e.g.:
module "subnets" {
source = "./cloud_foundation_fabric/factories/subnets"
config_folder = "./subnets"
}
Rationale
- Enable contribution from teams with no Terraform knowledge
- Repetitive creation of resources
- Breaks infrastructure code up into multiple modules/state files