Terramate simplifies managing large-scale Terraform codebases
https://github.com/terramate-io/terramate| Installer Source| Releases (json) (tab)
Terramate simplifies managing large-scale Terraform codebases
https://github.com/terramate-io/terramate| Installer Source| Releases (json) (tab)
To update or switch versions, run webi terramate@stable
(or @v0.11.4
,
@beta
, etc).
Terramate
enables scalable automation for Terraform by providing a robust framework for managing multiple stacks, generating code, and executing targeted workflows.
git init -b 'main' ./terramate-quickstart
cd ./terramate-quickstart
git commit --allow-empty -m "Initial empty commit"
terramate create \
--name "StackName" \
--description "Description of the stack" \
./stacks/stackname/
git add ./stacks/stackname/stack.tm.hcl
git commit -m "Create a stack"
terramate list
terramate list --changed
Create a .tm.hcl
file for code generation:
cat <<EOF > ./stacks/backend.tm.hcl
generate_hcl "backend.tf" {
content {
terraform {
backend "local" {}
}
}
}
EOF
Run the generation command:
terramate generate
Initialize stacks:
terramate run terraform init
Plan changes:
terramate run terraform plan
Apply changes:
terramate run terraform apply -auto-approve
Run commands only on changed stacks:
terramate run --changed terraform init
terramate run --changed terraform plan
terramate run --changed terraform apply -auto-approve