terraform-skill
Guide des bonnes pratiques Terraform
Cette skill aide les développeurs à écrire du code Terraform prêt pour la production avec une structure appropriée, des tests et de la sécurité. Elle fournit des conseils sur la conception de modules, l'intégration CI/CD et les bonnes pratiques d'infrastructure basées sur l'expérience d'entreprise.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "terraform-skill". Help me understand when to use count vs for_each in Terraform
Résultat attendu:
Utilisez count lorsque vous avez une condition booléenne (créer ou non) ou un nombre fixe de ressources identiques. Utilisez for_each lorsque les éléments peuvent être réorganisés, supprimés ou lorsque vous avez besoin d'un adressage stable par clé. Par exemple, utilisez for_each = toset(var.availability_zones) pour les sous-réseaux afin que la suppression d'une AZ ne recrée pas tous les sous-réseaux suivants.
Utilisation de "terraform-skill". What is the recommended variable ordering in Terraform?
Résultat attendu:
Ordez toujours les blocs de variables de manière cohérente : description (requis), type, default, validation, nullable. Cela assure la clarté et aide les utilisateurs à comprendre immédiatement l'objectif de la variable. Incluez toujours une description pour chaque variable.
Utilisation de "terraform-skill". How should I structure my Terraform module?
Résultat attendu:
Un module bien structuré inclut : main.tf (ressources), variables.tf (entrées), outputs.tf (sorties), versions.tf (contraintes du provider), examples/ (exemples d'utilisation) et tests/ (fichiers de test). Gardez les modules petits et focalisés sur une seule responsabilité.
Audit de sécurité
SûrAll static findings are false positives. This is a legitimate Terraform best practices skill providing infrastructure-as-code guidance. The 85 'external_commands' detections are Ruby template syntax in markdown rendering HCL code examples. Network detections are legitimate reference URLs and example CIDR blocks in documentation. Sensitive data and cryptographic algorithm warnings refer to security best practices being taught, not actual vulnerabilities.
Problèmes à risque faible (1)
Score de qualité
Ce que vous pouvez construire
Configuration d'un nouveau projet d'infrastructure
Un ingénieur DevOps démarrant un nouveau projet Terraform a besoin de conseils sur la structure des répertoires, l'organisation des modules et les conventions de nommage pour assurer un code maintenable dès le départ.
Sélection d'une stratégie de test
Une équipe souhaite ajouter des tests automatisés à son flux de travail Terraform mais a besoin d'aide pour choisir entre les tests natifs, Terratest et les outils d'analyse statique en fonction de leur cas d'utilisation et de leur expertise.
Refactorisation de modules
Une configuration Terraform existante doit être refactorisée pour utiliser des modèles modernes comme for_each, les blocs moved ou une meilleure conception des variables pour améliorer la maintenabilité.
Essayez ces prompts
Aidez-moi à configurer un nouveau projet Terraform avec une structure appropriée pour un déploiement multi-environnements. J'ai besoin de comprendre la disposition recommandée des répertoires pour les environnements, les modules et les exemples.
Quelle approche de test dois-je utiliser pour mes modules Terraform ? J'ai une logique de validation simple et des configurations de ressources complexes. Je recherche un test rentable qui équilibre la couverture avec l'effort de maintenance.
Revoyez la structure de mon module et suggérez des améliorations. J'ai un module VPC qui crée des sous-réseaux, des groupes de sécurité et du routage. Dois-je le diviser en modules plus petits ou le garder comme un seul ?
Aidez-moi à créer un pipeline CI/CD pour Terraform qui inclut la validation, le scan de sécurité, les étapes de planification et d'application. Je veux optimiser les coûts et assurer les approbations appropriées pour les changements de production.
Bonnes pratiques
- Utilisez des noms descriptifs et contextuels pour les ressources (par exemple, web_server, application_logs) et 'this' pour les ressources singleton
- Incluez toujours des descriptions pour les variables et les sorties pour aider les mainteneurs futurs
- Épinglez les versions des providers en utilisant des contraintes pessimistes (par exemple, ~> 5.0) pour équilibrez stabilité et mises à jour
Éviter
- Évitez les noms de ressources génériques comme 'main', 'bucket' ou 'instance' pour les non-singletons
- Ne stockez pas les secrets dans les variables Terraform ; utilisez des gestionnaires de secrets à la place
- Évitez les VPC par défaut et les groupes de sécurité trop permissifs (0.0.0.0/0)
Foire aux questions
Cette skill fonctionne-t-elle aussi avec OpenTofu ?
Cette skill peut-elle exécuter les commandes Terraform pour moi ?
Quels frameworks de test cette skill couvre-t-elle ?
Cette skill aide-t-elle avec le scan de sécurité ?
Quelles versions de Terraform sont prises en charge ?
Comment cette skill gère-t-elle l'optimisation des coûts ?
Détails du développeur
Structure de fichiers
📄 SKILL.md