terraform-guidelisted
Install: claude install-skill WhiteMuush/Your-Claude-DevOps
# Guide Terraform
## 1. Workflow opérationnel (étapes numérotées)
1. **Initialiser**, configurer le backend et télécharger les providers.
```bash
terraform init -upgrade # première fois ou mise à jour providers
terraform init -reconfigure # changer de backend sans migrer l'état
```
2. **Valider**, vérifier la syntaxe avant de planifier.
```bash
terraform validate
terraform fmt -recursive # formater tout le répertoire
```
3. **Planifier**, toujours sauvegarder le plan pour un apply déterministe.
```bash
terraform plan -out=tfplan.bin
terraform show -json tfplan.bin | jq '.resource_changes[] | select(.change.actions != ["no-op"])'
```
4. **Appliquer**, uniquement depuis le plan sauvegardé.
```bash
terraform apply tfplan.bin
```
5. **Vérifier le drift**, détecter les divergences entre state et réalité.
```bash
terraform plan -refresh-only # voir ce qui a changé hors Terraform
terraform apply -refresh-only # re-synchroniser le state sans modifier les ressources
```
6. **Détruire proprement**, cibler d'abord, jamais en masse sans review.
```bash
terraform destroy -target=module.networking.azurerm_subnet.main
```
---
## 2. Structure de projet recommandée
```
infrastructure/
├── environments/
│ ├── dev/
│ │ ├── main.tf # appels aux modules
│ │ ├── variables.tf
│ │ ├── terraform.tfvars
│ │ └── backend.tf
│ ├── staging/
│ └── production/
├── modules/
│ ├