Aller au contenu

Versionning Terraform

·
configuration terraform
Jérémy Norgol
Auteur
Jérémy Norgol
Consultant ingénieur Linux Devops

Gérer les versions de Terraform
#

Pour gérer les versions de Terraform, vous pouvez utiliser la directive required_version dans votre fichier de configuration. Cela vous permet de contrôler quand vous mettez à jour la version de Terraform pour vos projets Terraform.

Exemple de configuration :

terraform {
  required_providers {
    aws = {
      version = "~> 2.13.0"
    }
    random = {
      version = ">= 2.1.2"
    }
  }

  required_version = "~> 0.12.29"
}

Dans cet exemple, la directive required_version est définie sur ~> 0.12.29. Cela signifie que vous pouvez utiliser n’importe quelle version mineures de Terraform supérieure à la version 0.12.29, mais vous ne pourrez pas utiliser les versions majeures et mineures suivantes (par exemple, la version 0.13.x). Terraform affichera une erreur si vous tentez d’utiliser cette configuration avec une version plus récente que 0.12.x, en raison de cette directive required_version.

Pour spécifier une version de Terraform dans la directive required_version, vous pouvez utiliser différentes contraintes de version. Voici quelques exemples :

Required Version Meaning Considerations
0.15.0 Only Terraform v0.15.0 exactly To upgrade Terraform, first edit the required_version setting
>= 0.15 Any Terraform v0.15.0 or greater Includes Terraform v1.0.0 and above
~> 0.15.0 Any Terraform v0.15.x, but not v1.0 or later Minor version updates are intended to be non-disruptive
>= 0.15, < 2.0.0 Terraform v0.15.0 or greater, but less than v2.0.0 Avoids major version updates

Il est recommandé d’utiliser la dernière version disponible de Terraform pour bénéficier des fonctionnalités et des corrections de bugs les plus récentes. Cependant, il n’est pas nécessaire de mettre à jour vos projets Terraform à chaque utilisation, sauf si vous avez besoin d’une fonctionnalité spécifique ou d’une correction de bug.

En pratique, il est préférable d’utiliser des contraintes de version de style ~> pour spécifier la version majeure et mineure de Terraform que vous souhaitez utiliser. Cela vous permettra de bénéficier des mises à jour mineures sans avoir à modifier votre configuration Terraform. Vous pouvez ensuite planifier la mise à jour de votre configuration pour utiliser une nouvelle version de Terraform et vérifier attentivement les modifications pour vous assurer que votre projet fonctionne comme prévu.

Par exemple, si vous écrivez une configuration Terraform avec Terraform 1.0.0, vous pouvez ajouter required_version = "~> 1.0.0" dans votre bloc terraform { }. Cela vous permettra d’utiliser n’importe quelle version Terraform 1.0.x, mais vous devrez mettre à jour votre configuration pour utiliser Terraform 1.1.0 ou ultérieure lorsque vous le souhaiterez.

Articles connexes

Backend
terraform
Commandes de base
terraform
Déployer un agent Terraform - Docker
docker agent terraform