Introduction

<aside> 💡 Commencer par lire le guide des bonnes pratiques en Terraform recommandées par Keltio ici :

Les bonnes pratiques Terraform

</aside>

Terraform est un outil créé par HashiCorp qui permet de gérer l'infrastructure en tant que code. Avec Terraform, les ressources cloud sont plus faciles à créer, gérer et détruire. Il existe certaines ressources souvent créées ensemble. Par exemple, un réseau privé virtuel (VPC) est fourni avec des sous-réseaux, des groupes de sécurité et une passerelle Internet facultative. Terraform vous permet de regrouper plusieurs ressources sous forme de module afin que vous puissiez le réutiliser.

Comme un projet Terraform, un module comporte généralement ces composants:

0. Utiliser des modules communautaire existant

Avant de se lancer tête baisser dans la création d’un module Terraform qu’il faudra maintenir dans le temps, toujours penser à regarder s’il n’existe pas déjà ce que l’on souhaite sur le registry Terraform.

L’utilisation de module communautaire devra toutefois être vigilante sur le choix de contributeur non certifié sur la plateforme.

Des contributeurs natifs comme Azure, Microsoft, seront à privilégier.

1. Avoir un environnement de travail qui permet de code proprement

Chez Keltio nous installons un ensemble d’outils sur nos environnements de travail afin de pousser au maximum notre productivité et la qualité du code, c’est voici :

Les incontournables à installer dans son environnement de travail en tant que DevOps

2. Utilisez un dépôt de contrôle de version

Si votre module peut être réutilisé dans différents projets, il doit être géré avec un dépôt de contrôle de version (Github, Gitlab,…). De plus, vous devriez envisager d'utiliser la versionnement sémantique pour gérer les versions du module afin que les nouvelles versions ne puissent pas casser les consommateurs de votre module.

3. Les fichiers à absolument créer dans le repo

README.md

Un code sans documentation, c’est un code qui ne vaut rien.