Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
6
Use this guide when extending the Terraform that exposes the home-lab NAS through an AWS WireGuard hub.
Sign in to like and favorite skills
Use this guide when extending the Terraform that exposes the home-lab NAS through an AWS WireGuard hub.
infrastructure/terraform/ houses the entire stack (providers.tf, main.tf, variables.tf, outputs.tf, and terraform.tfvars).main.tf; use locals for opinionated defaults unless a value must come from tfvars.infrastructure/terraform/templates/ stores the instance user_data.sh.tpl. Sanitized peer samples stay in config/; never commit real keys or PSKs.terraform init sets up providers, remote state, and module caches; rerun after backend or provider version changes.terraform fmt -recursive and terraform validate enforce formatting and schema checks; pair them with tflint --config .tflint.hcl for AWS linting.terraform plan -out plan.tfplan previews infrastructure changes; apply with terraform apply plan.tfplan only after review.terraform output -raw home_peer_config prints the NAS WireGuard config generated from peer_home.conf.tpl; rerun after the EC2 instance finishes bootstrapping (or run terraform refresh) so the server public key has been captured.resource_prefix variable (defaults to vpn), keep the tfvars file focused on resource_prefix, home_lan_cidr, and peer public keys, and tag AWS assets with owner/contact metadata where relevant.required_version and required_providers; run pre-commit run --all-files when hooks exist.terraform validate and tflint on every branch; add Terratest cases in test/ for module-level assertions (CIDRs, subnet counts, security rules).terraform apply, verify that terraform plan reports “No changes” to guard against configuration drift.docs/peering-matrix.md whenever peer IPs, ports, or AllowedIPs change so NAS call-home instructions stay accurate.feat:, fix:, infra:, chore:, docs:) with ≤72-character summaries and optional ticket IDs like VPN-123.plan.tfplan.docs/operations.md.