C'est quoi OpenTofu ?
OpenTofu est un fork open-source de Terraform, lancé fin 2023 par la communauté et la Linux Foundation après le changement de licence de HashiCorp vers BSL. Compatible HCL et compatible providers Terraform, il garantit un avenir véritablement open-source pour l'Infrastructure as Code. Des entreprises comme Gruntwork, Spacelift, env0 ou Harness le soutiennent activement, et il est désormais utilisé en production par de grandes équipes plateformes.
OpenTofu, c'est la même promesse que Terraform, sans le risque de licence propriétaire.
Pourquoi utiliser OpenTofu ?
OpenTofu hérite de l'écosystème Terraform et y ajoute quelques différenciateurs notables.
- Licence MPL 2.0. Vraiment open-source, gouvernance par la Linux Foundation. Aucun risque de changement unilatéral.
- Compatibilité HCL. Vos modules Terraform fonctionnent tels quels, migration sans réécriture.
- Providers Terraform compatibles. L'écosystème entier (AWS, GCP, Azure, Kubernetes) reste utilisable.
- Chiffrement d'état natif. Fonctionnalité demandée de longue date, désormais intégrée. Plus besoin de couches tierces pour les secrets dans l'état.
- Évolution communautaire. RFC publiques, feuille de route transparente, contributions ouvertes.
- Adoption croissante. Soutenu par des acteurs majeurs du tooling cloud, intégré aux principaux backends et plateformes IaC.
OpenTofu face aux autres approches
Choisir entre Terraform et OpenTofu est désormais une vraie décision pour une équipe plateforme.
| Critère | OpenTofu | Terraform | Pulumi |
|---|---|---|---|
| Licence | MPL 2.0 (libre) | BSL (restrictive) | Apache 2.0 |
| Gouvernance | Linux Foundation | HashiCorp | Pulumi Corp |
| Compatibilité HCL | Oui | Référence | Non (langages généraux) |
| Chiffrement d'état | Natif | Via tiers | Natif |
| Maturité | Croissante | Élevée | Élevée |
OpenTofu en pratique
Voici un exemple exploitant le chiffrement d'état natif, fonctionnalité phare d'OpenTofu, pour sécuriser les secrets dans le backend.
terraform {
required_version = ">= 1.7"
encryption {
key_provider "pbkdf2" "default" {
passphrase = var.state_passphrase
}
method "aes_gcm" "default" {
keys = key_provider.pbkdf2.default
}
state {
method = method.aes_gcm.default
}
plan {
method = method.aes_gcm.default
}
}
backend "s3" {
bucket = "koul-tfstate"
key = "platform/prod/terraform.tfstate"
region = "eu-west-3"
}
}
variable "state_passphrase" {
type = string
sensitive = true
}
resource "aws_secretsmanager_secret" "db" {
name = "platform/prod/db-password"
}Pour quels projets ?
OpenTofu remplace Terraform quasiment partout. Voici les cas où il devient l'évidence.
- Équipes sensibles aux licences. Secteur public, défense, finance, ESN qui rejettent les licences BSL.
- Plateformes existantes en Terraform. Migration progressive, conservation de tous les modules et providers, sans réécriture.
- Projets cloud souverains. Provisioning de plateformes sur AWS ou OVHcloud avec exigences de transparence sur la chaîne logicielle.
Notre approche chez Koul
Nous proposons OpenTofu par défaut sur les nouveaux projets plateforme. Notre méthode.
- Choix éclairé. Audit du contexte projet, contraintes de licence, écosystème existant. Migration depuis Terraform si pertinent.
- Modules portables. Bibliothèque interne compatible Terraform et OpenTofu, sans dépendance à des features propriétaires.
- Pipelines GitLab. Plan sur MR, apply contrôlé, chiffrement d'état natif activé pour la production.
- Provisioning cloud. Création de plateformes Kubernetes sur AWS et GCP, intégration Ansible pour la configuration post-provisioning.
Choisir OpenTofu, c'est sécuriser sa stack IaC pour la décennie à venir.









