terraform
Terraform Skill
Provides comprehensive Terraform infrastructure as code capabilities for the Golden Armada AI Agent Fleet Platform.
When to Use This Skill
Activate this skill when working with:
- Infrastructure provisioning
- Terraform modules and configurations
- State management
- Cloud resource definitions
- Multi-environment deployments
Quick Reference
Common Commands
```bash
Initialize
terraform init terraform init -upgrade
Plan
terraform plan terraform plan -out=tfplan terraform plan -var="environment=prod"
Apply
terraform apply terraform apply tfplan terraform apply -auto-approve
Destroy
terraform destroy terraform destroy -target=aws_instance.example
State
terraform state list terraform state show terraform state mv terraform state rm
Workspace
terraform workspace list terraform workspace new dev terraform workspace select prod
Format/Validate
terraform fmt -recursive terraform validate ```
Project Structure
``` terraform/ ├── main.tf ├── variables.tf ├── outputs.tf ├── providers.tf ├── versions.tf ├── terraform.tfvars ├── environments/ │ ├── dev.tfvars │ └── prod.tfvars └── modules/ ├── networking/ ├── compute/ └── database/ ```
Provider Configuration
```hcl
versions.tf
terraform { required_version = ">= 1.0.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "> 5.0"
}
kubernetes = {
source = "hashicorp/kubernetes"
version = "> 2.0"
}
}
backend "s3" { bucket = "golden-armada-terraform-state" key = "state/terraform.tfstate" region = "us-west-2" encrypt = true dynamodb_table = "terraform-locks" } }
providers.tf
provider "aws" { region = var.aws_region
default_tags { tags = { Project = "golden-armada" Environment = var.environment ManagedBy = "terraform" } } } ```
Variables
```hcl
variables.tf
variable "environment" { description = "Environment name" type = string validation { condition = contains(["dev", "staging", "prod"], var.environment) error_message = "Environment must be dev, staging, or prod." } }
variable "instance_count" { description = "Number of instances" type = number default = 2 }
variable "tags" { description = "Resource tags" type = map(string) default = {} }
terraform.tfvars
environment = "dev" instance_count = 2 ```
Module Example
```hcl
modules/eks-cluster/main.tf
resource "aws_eks_cluster" "main" { name = "${var.project}-${var.environment}" role_arn = aws_iam_role.cluster.arn version = var.kubernetes_version
vpc_config { subnet_ids = var.subnet_ids endpoint_private_access = true endpoint_public_access = var.public_access }
tags = var.tags }
modules/eks-cluster/variables.tf
variable "project" { type = string }
variable "environment" { type = string }
variable "kubernetes_version" { type = string default = "1.28" }
Usage
module "eks" { source = "./modules/eks-cluster"
project = "golden-armada" environment = var.environment subnet_ids = module.vpc.private_subnets kubernetes_version = "1.28" tags = local.tags } ```
Best Practices
- State Management: Use remote state with locking
- Modules: Create reusable modules for common patterns
- Workspaces: Separate environments using workspaces
- Variables: Use tfvars files per environment
- Outputs: Export important values for other modules
- Tagging: Apply consistent tags to all resources
More from lobbi-docs/claude
vision-multimodal
Vision and multimodal capabilities for Claude including image analysis, PDF processing, and document understanding. Activate for image input, base64 encoding, multiple images, and visual analysis.
251design-system
Apply and manage the AI-powered design system with 50+ curated styles
126complex-reasoning
Multi-step reasoning patterns and frameworks for systematic problem solving. Activate for Chain-of-Thought, Tree-of-Thought, hypothesis-driven debugging, and structured analytical approaches that leverage extended thinking.
106gcp
Google Cloud Platform services including GKE, Cloud Run, Cloud Storage, BigQuery, and Pub/Sub. Activate for GCP infrastructure, Google Cloud deployment, and GCP integration.
73kanban
Kanban methodology including boards, WIP limits, flow metrics, and continuous delivery. Activate for Kanban boards, workflow visualization, and lean project management.
63debugging
Debugging techniques for Python, JavaScript, and distributed systems. Activate for troubleshooting, error analysis, log investigation, and performance debugging. Includes extended thinking integration for complex debugging scenarios.
59