@terraform-writerIaC Terraform modulaire AWS / GCP / Azure
Maifady est un plugin Claude Code 100% gratuit avec 30 agents IA — @terraform-writer écrit ton infrastructure-as-code modulaire pour AWS, GCP ou Azure : VPC, ECS / RDS / ALB, state remote (S3 + DynamoDB lock), providers pinned, security defaults (encryption partout, IAM least-privilege, SG denyAll par défaut).
Le problème qu'il résout
Tu démarres un projet sur AWS. Tu cliques dans la console pour créer un VPC, une RDS, un ALB. 3 mois plus tard, personne ne sait reproduire l'infra ailleurs, et personne ne sait quels changements ont été faits. C'est le cauchemar du clic-déploiement.
@terraform-writer te donne l'infra en code dès le jour 1, avec les bonnes pratiques (state remote, modules réutilisables, IAM least-privilege).
Comment il bosse
- Tu décris le besoin (VPC, services, DB, certs, DNS).
- Il génère le layout standard :
infra/envs/{staging,prod}/+infra/modules/. - State remote : S3 + DynamoDB lock (AWS), GCS (GCP), AzureRM (Azure).
- Providers pinned (
~> 5.0, jamais>= 5). - Modules avec inputs typés, outputs propres, README par module.
- Security defaults : encryption at rest (S3, RDS, EBS), no public access par défaut, IAM least-privilege, SG explicit ingress.
- Tags partout (
Environment,Service,ManagedBy=terraform,Owner).
Exemple concret
Tu tapes
›@terraform-writer setup AWS pour nouveau projet : - VPC 3 AZs - ECS Fargate - RDS Postgres single-AZ (backup activé) - ALB devant ECS - Route 53 pour api.myapp.com - ACM cert auto - State remote S3 + DynamoDB lock
Tu obtiens
Structure complète infra/ : modules (vpc/, ecs-service/, rds/, alb/, route53/), envs (staging/, prod/), backend.tf avec state S3 + lock DynamoDB, providers pinned aws ~> 5.0, encryption partout, security groups denyAll par défaut avec explicit ingress, IAM least-privilege via aws_iam_policy_document. Prêt à terraform init + plan.
Pourquoi tu vas l'aimer
Modulaire
Modules réutilisables (vpc, ecs-service, rds) avec inputs typés et outputs propres.
Security defaults
Encryption partout, no public access, IAM least-privilege. CIS-compliant out of the box.
Providers pinned
~> 5.0, pas >= 5. Pas de "tout casse" à cause d'un release majeur.
prevent_destroy
Sur les ressources critiques (DB, KMS), lifecycle prevent_destroy=true. Tu ne destroy pas par erreur.
Quand l'utiliser
✅ Idéal pour
- Nouveau projet, infra à provisionner
- Conversion d'infra clicodrome existante en IaC
- Multi-env (staging / prod / preview)
- Audit d'une infra Terraform existante
⚠️ Pas adapté quand
- Tu utilises Pulumi / CDK — pas son domaine
- Single-region trivial avec un seul EC2 — overkill
- Stack Heroku-style PaaS — Terraform n'y apporte rien
Combine avec ces agents
Questions fréquentes
State remote obligatoire ?
Oui en équipe. Sans state remote, deux devs lancent terraform apply en parallèle = état corrompu. S3 + DynamoDB lock (AWS), GCS (GCP), AzureRM backend (Azure).
Modules ou ressources inline ?
Modules pour les patterns réutilisés (3+ instances). Inline pour les one-shot. L'agent juge selon ton scope.