Terraform Modules

Terraform patterns for Fawkes — variables, backend, tags. Load when editing infra/. Use when this capability is needed.

tomevault-io Updated

File contents

Terraform — Fawkes

Every variable needs description. Sensitive vars get sensitive = true.

Backend (KL-01):

# AWS
terraform { backend "s3" {
  bucket = var.tf_state_bucket
  key    = "fawkes/aws/terraform.tfstate"
  region = var.region
  dynamodb_table = var.tf_lock_table
  encrypt = true
}}

# Azure
terraform { backend "azurerm" {
  resource_group_name  = var.tf_state_resource_group
  storage_account_name = var.tf_state_storage_account
  container_name       = "tfstate"
  key                  = "fawkes/azure/terraform.tfstate"
}}

Tags on everything:

tags = { Project = "fawkes", Environment = var.environment, ManagedBy = "terraform" }

Validate:

cd infra/MODULE && terraform fmt -check . && terraform init -backend=false && terraform validate

Source: paruff/fawkes — distributed by TomeVault.

tomevault-io/skills-registry/tree/main/paruff--fawkes--terraform-modules commit 349b3d4e63

Frequently asked questions

npx skillmds@latest add tomevault-io/terraform-modules