Bonjour,
L'erreur pendant laquelle vous êtes confronté terraform init est causée par des sommes de contrôle des fournisseurs incompatibles appliquées dans .terraform.lock.hcl. Ce fichier verrouillé est conçu pour garantir l'intégrité binaire en épinglant des versions exactes des fournisseurs et leurs hachages. Lorsque vous migrez l'état vers un nouveau backend, si l'environnement s'attend à des versions ou plateformes de fournisseurs légèrement différentes, les contraintes du fichier de verrouillage empêchent l'initialisation.
La bonne façon de résoudre cela n'est pas d'éditer manuellement le fichier verrouillé, car cela compromettrait son intégrité. Au lieu de cela, vous devriez le régénérer dans l'environnement destiné. Exécutez terraform providers lock -platform=<platform> pour reconstruire .terraform.lock.hcl avec les bons hachages pour le système d'exploitation et l'architecture sur lesquels vous déployez. Sinon, supprimer et exécuter le fichier verrouillé terraform init -upgrade existant oblige Terraform à télécharger à nouveau les fournisseurs et à recréer le fichier verrouillé avec des sommes de contrôle valides. Cela garantit que les fournisseurs respectent les exigences backend tout en maintenant les garanties de sécurité contre les binaires altérés.
Si vous travaillez en équipe, mettez le fichier régénéré .terraform.lock.hcl dans le contrôle de version afin que tous les environnements utilisent les mêmes hachages fournisseurs vérifiés. Cela évite la dérive et assure la reproductibilité. Le point clé est que le fichier verrouillé doit toujours être généré par Terraform lui-même, jamais modifié manuellement, sinon vous risquez de casser le mécanisme de validation de la somme de contrôle.
J'espère que vous avez trouvé quelque chose d'utile ici. Si cela vous aide à mieux comprendre le sujet, il est important d'accepter la réponse. Si vous avez d'autres questions, n'hésitez pas à laisser un message. Bonne journée !
DV.