autojanet/skills/understand/languages/terraform.md
Zoë cc74ad0bd0
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
fix: use library/ Harbor project, add skills, fix pipeline secrets
- .woodpecker.yaml: image paths -> library/autojanet-{agent,dispatcher}
- .woodpecker.yaml: secret names RS_HARBOR_USER / RS_HARBOR_PASS (global)
- container/Dockerfile: restore COPY skills/, skills/ populated from opencode config
- skills/: 84 opencode skills bundled into image
- k8s/manifests: update image refs to library/
2026-05-30 15:43:14 -07:00

2.1 KiB

Terraform Language Prompt Snippet

Key Concepts

  • Declarative Infrastructure: Define desired state; Terraform computes and applies the diff
  • Providers: Plugins connecting to cloud APIs (AWS, GCP, Azure, Kubernetes, etc.)
  • Resources: resource "type" "name" blocks declaring infrastructure components
  • Data Sources: data "type" "name" blocks reading existing infrastructure state
  • Variables: variable blocks for parameterizing configurations with defaults and validation
  • Outputs: output blocks exposing values for cross-module references or human consumption
  • Modules: Reusable, composable infrastructure packages with their own variables and outputs
  • State Management: .tfstate files tracking real-world resource mapping (never commit to git)
  • Workspaces: Isolated state environments for managing dev/staging/prod from one codebase
  • Plan and Apply: terraform plan previews changes, terraform apply executes them

Notable File Patterns

  • main.tf — Primary resource definitions
  • variables.tf — Input variable declarations with types and defaults
  • outputs.tf — Output value definitions
  • providers.tf — Provider configuration and version constraints
  • backend.tf — Remote state backend configuration (S3, GCS, etc.)
  • modules/**/*.tf — Reusable infrastructure modules
  • *.tfvars — Variable value files for different environments
  • terraform.lock.hcl — Provider version lock file

Edge Patterns

  • Terraform files provisions the infrastructure resources they define
  • Module references create depends_on edges between terraform files
  • Terraform deploys application code by referencing container images or deployment targets
  • Variable files configures the terraform modules they parameterize

Summary Style

"Terraform configuration provisioning N AWS resources including VPC, ECS cluster, and RDS instance." "Infrastructure module defining a reusable Kubernetes namespace with RBAC and network policies." "Variable definitions for N environment-specific settings (region, instance type, scaling)."