OpenTofu 1.10.0 – A Well‑Seasoned Release

Découvrez les nouveautés d’OpenTofu 1.10.0 : support OCI Registry, verrouillage natif S3, OpenTelemetry, gestion avancée des modules et plus. Une release majeure pour les équipes DevOps et cloud.

La version OpenTofu 1.10.0, publiée le 23 juin 2025, marque une étape majeure dans l’évolution de l’outil. Il s’agit de la mise à jour la plus ambitieuse à ce jour, avec des fonctionnalités conçues pour soutenir les besoins croissants des équipes d’infrastructure moderne. (opentofu.org)

Public concerné

  • Architectes cloud cherchant à renforcer fiabilité, modularité et observabilité.
  • Ingénieurs DevOps travaillant avec des CI/CD, backends d’état distribués, ou en environnements isolés (air‑gapped).
  • Auteur·rice·s de modules OpenTofu/Terraform souhaitant gérer les évolutions d’API sans rupture.

Résumé de la mise à jour

  • Version concernée : OpenTofu 1.10.0 (release du 23 juin 2025)
  • Principaux changements :
    • Support OCI Registry pour distribuer providers et modules via registres d’images (utile dans les environnements air‑gapped)
    • Native S3 State Locking : verrouillage d’état via S3, sans dépendance à DynamoDB
    • Attributs de dépréciation : auteurs de modules peuvent désormais marquer variables et outputs comme deprecated
    • Nouvelles options ‑target-file et ‑exclude-file pour gestion ciblée des ressources
    • Global Provider Cache Lock : sécurise les opérations concurrentes dans les pipelines CI/CD
    • OpenTelemetry Tracing (local uniquement) : observabilité intégrée pour débogage et performance
    • External Key Providers : chiffrement d’état avec vos outils de gestion de secrets préférés
    • Blocs moved/removed améliorés : refactorisation d’infra plus puissante

Les nouveautés clés (détaillées)

1. OCI Registry Support

Désormais, vous pouvez distribuer vos providers et modules via un registre OCI, comme Docker Registry. Idéal pour :

  • Environnements isolés (air‑gapped)
  • Infrastructure existante basée sur conteneurs

Exemple de configuration pour un miroir OCI :

provider_installation {
  oci_mirror {
    repository_template = "exemple.com/opentofu-providers/${namespace}/${type}"
    include             = ["registry.opentofu.org/*/*"]
  }
}

Et pour déclarer un module :

module "vpc" {
  source = "oci://exemple.com/modules/vpc/aws"
}

2. Native S3 State Locking

Le backend S3 supporte désormais le verrouillage natif (use_lockfile = true), éliminant le besoin de DynamoDB.

terraform {
  backend "s3" {
    bucket       = "etat-tofu"
    key          = "prod/terraform.tfstate"
    region       = "us-east-1"
    use_lockfile = true
  }
}

3. Dépréciation d’éléments

Vous pouvez désormais marquer des variables ou outputs comme dépréciés, facilitant les évolutions d’API sans rupture pour les utilisateurs de vos modules.

4. Options ‑target-file et ‑exclude-file

Permettent de gérer la portée (target) ou d’exclure (exclude) des ressources via des fichiers versionnés. Exemple :

tofu plan -target-file=targets/prod.txt
tofu apply -exclude-file=excludes/test.txt

5. Global Provider Cache Lock

Sécurise l’accès au cache global de providers (via TF_PLUGIN_CACHE_DIR), en évitant les conflits lors d’exécutions concurrentes.

6. OpenTelemetry Tracing (expérimental)

Ajoute une couche d’observabilité locale pour vos exécutions OpenTofu.
À activer via variables d’environnement :

export OTEL_TRACES_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
export OTEL_EXPORTER_OTLP_INSECURE=true

7. External Key Providers

Permet d’utiliser des outils externes pour le chiffrement de l’état, renforçant la flexibilité et la sécurité.

8. Blocs moved / removed améliorés

Plus de puissance pour refactorer l’infrastructure via ces nouvelles évolutions du langage.

Impacts pour les utilisateurs

Bénéfices :

  • Meilleure distribution en interne, notamment pour réseau fermé.
  • Simplification de la gestion d’état sur AWS, moins de dépendances.
  • Meilleure observabilité et traçabilité avec OpenTelemetry.
  • Plus de contrôle et scalabilité dans les pipelines CI/CD.
  • Meilleure gestion des évolutions d’API pour modules réutilisés.

Compatibilité & migration :

  • Migration simple depuis les versions 1.7, 1.8 ou 1.9.
  • Guide complet disponible : sauvegarde d’état, init, plan, tests, rollback en cas de besoin.
  • Fonctionnalités expérimentales (tracing, dépréciation) à manipuler avec précaution.

Points de vigilance :

  • OpenTelemetry nécessite configuration explicite : rien n’est tracé sans votre consentement.
  • Environnements S3 non pleinement compatibles à vérifier avant adoption.
  • Les apports de dépréciation sont nouveaux : assurez-vous de les documenter pour les utilisateurs.

Bonnes pratiques pour adopter 1.10.0 sans friction

  1. Préparez vos sauvegardes (état, infrastructure).
  2. Testez dans un environnement non critique (staging ou sandbox).
  3. Activez les nouvelles fonctionnalités une par une (S3 lock, OCI, tracing).
  4. Surveillez les logs et traces si OpenTelemetry est activé.
  5. Documentez les changements auprès des équipes locales.
  6. Contribuez au projet si vous découvrez des cas limites ou bugs.

Conclusion

OpenTofu 1.10.0, paru le 23 juin 2025, est une version stratégique qui place la distribution, la scalabilité, l’observabilité et la modularité au cœur des workflows DevOps modernes. Avec des fonctionnalités bien pensées comme le support OCI, le verrouillage natif S3, et la traçabilité via OpenTelemetry, elle apporte de réels gains de productivité et de fiabilité.

Je vous encourage à la tester dès maintenant — retrouvez le guide d’installation, vos premiers pas avec les nouvelles options, et rejoignez la communauté sur Slack ou GitHub pour contribuer.
Lien vers la release officielle OpenTofu 1.10.0