Nouveau cours : Terraform avancé, modules, tests, état
La partie Infrastructure as code du chapitre Héberger s'enrichit de Terraform avancé : modules, tests, état, la suite de Terraform et OpenTofu : les fondamentaux.
À la fin du premier cours, le dépôt signalements-iac décrit toute l'infrastructure de Signalements dans un seul répertoire. Ce cours traite de ce qui arrive ensuite, quand arrivent une deuxième application, une deuxième équipe et des années de maintenance. Il extrait des modules et les publie avec des versions, découpe l'infrastructure en couches qui ont chacune leur état, ajoute des tests et des politiques vérifiées sur les plans, garde les secrets hors de l'état, refactorise sans rien détruire, et organise les mises à jour.
Quelques points que les leçons démontrent avec Terraform 1.16, sorties à l'appui :
- déplacer des ressources dans un module sans bloc
movedles fait détruire puis recréer ; versionne s'applique pas aux modules Git, et une étiquette Git peut être déplacée ;terraform_remote_statecopie toutes les sorties d'une couche dans l'état de celle qui la lit ;- une
postconditionarrive après la création de la ressource, et un bloccheckn'empêche rien ; - une valeur éphémère n'apparaît ni dans le plan ni dans l'état, mais le bloc
storedeterraform_datal'y écrit ; - le fichier de verrouillage prime sur la contrainte de version, jusqu'à
init -upgrade.
Le cours est de niveau 300 : un quiz vérifie les notions, et le projet fait industrialiser le dépôt du premier cours, avec une relecture par un pair sur une grille fournie.