terraform
Original:🇺🇸 English
Translated
Terraform infrastructure as code with providers and state management. Use for cloud provisioning.
1installs
Sourceg1joshi/agent-skills
Added on
NPX Install
npx skill4agent add g1joshi/agent-skills terraformTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Terraform
Terraform is the world's most popular Infrastructure as Code (IaC) tool. It uses HCL to provision resources on any cloud. 2025 introduces Terraform Stacks for easier component management.
When to Use
- Provisioning: Creating VPCs, Databases, K8s Clusters.
- Multi-Cloud: Learn one syntax (HCL), use it for AWS, Azure, GCP, Datadog, etc.
- State Management: It tracks resource state, allowing "Plan" (preview) and "Apply".
Quick Start
hcl
# main.tf
provider "aws" {
region = "us-west-2"
}
resource "aws_s3_bucket" "b" {
bucket = "my-tf-test-bucket"
tags = {
Name = "My bucket"
}
}Core Concepts
Providers
Plugins that talk to APIs (AWS, Azure, Kubernetes).
State
terraform.tfstateStacks (2025)
A new layer above Modules. Allows defined dependencies between deployments (e.g., Deploy VPC, then Deploy K8s using VPC ID output).
Best Practices (2025)
Do:
- Use Remote State: S3 backend or Terraform Cloud. Never local state.
- Use Modules: DRY. Write a "Company Standard Bucket" module and reuse it.
- Use /
tfsec: Scan HCL for misconfigurations (open security groups) before deploy.trivy
Don't:
- Don't hardcode secrets: Use and pass it via
variable "db_password" {}or a secret manager.TF_VAR_