# Terraform Modules

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

- Skill: `tomevault-io/terraform-modules` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/terraform-modules`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/terraform-modules/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/terraform-modules

---


# Terraform — Fawkes

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

Backend (KL-01):

```hcl
# 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:

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

Validate:

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

---
> Source: [paruff/fawkes](https://github.com/paruff/fawkes) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-15 -->

