Introduction à TFLint
TFLint est un outil open source conçu pour analyser le code Terraform et détecter les erreurs, mauvaises pratiques et incohérences avant déploiement.
Il agit comme un linter ou un analyseur statique, comparable à ESLint pour JavaScript ou Pylint pour Python.
💡 Astuce : Exécuter
tflint avant terraform plan permet d’éviter des erreurs coûteuses et d’améliorer la qualité du code.
Fonctionnalités principales
- Détection d’erreurs de configuration : vérifie la validité du code Terraform.
- Bonnes pratiques : s’assure du respect des conventions de codage.
- Conformité provider : contrôle la compatibilité avec les versions des providers.
- Analyse de performance : signale les choix de ressources inefficaces ou coûteux.
- Extensibilité : supporte des plugins et règles personnalisées.
Installation
# macOS
brew install tflint
# Linux (via script officiel)
curl -s https://raw.githubusercontent.com/terraform-linters/tflint/master/install_linux.sh | bash
# Windows (scoop)
scoop install tflint
Exécution
cd mon-projet-terraform
tflint
Exemple de sortie :
1 issue(s) found:
Warning: Instance type is not recommended (aws_instance.example)
on main.tf line 12:
12: instance_type = "t2.micro"
Configuration (.tflint.hcl)
plugin "aws" {
enabled = true
version = "0.32.1"
source = "github.com/terraform-linters/tflint-ruleset-aws"
}
rule "aws_instance_invalid_type" {
enabled = true
}
Résumé
| Fonction | Description |
|---|---|
| Validation | Vérifie que le code Terraform est correct |
| Linting | Applique les bonnes pratiques |
| Plugins | Ajoute des règles spécifiques à un provider |
| CI/CD | S’intègre dans les pipelines d’automatisation |