<p>tfenv ne lit pas la version requise de conf.tf</p>

Créé le 22 juil. 2019  ·  6Commentaires  ·  Source: tfutils/tfenv

Problème

J'ai déclaré ce qui suit dans mon fichier conf.tf :

terraform {
  required_version = "0.12.5"

  backend "s3" {
    bucket   = "somebucket"
    region   = "eu-central-1"
    role_arn = "somerole"
  }
}

lorsque je lance terraform --version , tfenv ne lit pas la version répertoriée mais la version définie par /usr/local/Cellar/tfenv/1.0.1/version

Comportement prévu

Je m'attends à ce que tfenv analyse le fichier conf.tf pour required_version pour utiliser la bonne version.
Je ne sais pas très bien si cela est pris en charge ou non (https://github.com/tfutils/tfenv#min-required)

documentation enhancement

Commentaire le plus utile

Je pense que la documentation peut être un peu trompeuse alors : https://github.com/tfutils/tfenv#min -required

// this will detect 0.12.3
terraform {
  required_version  = "<0.12.3, >= 0.10.0"
}

Tous les 6 commentaires

Ce n'est pas un cas d'utilisation prévu. tfenv n'évalue pas les déclarations de version terraform. La version de base de Terraform en cours d'utilisation est maintenue par le fichier .terraform-version . C'est à vous de décider si vous placez une restriction dans votre déclaration required_version pour vous assurer que votre code ne s'exécutera pas s'il est évalué par une version incompatible.

Je pense que la documentation peut être un peu trompeuse alors : https://github.com/tfutils/tfenv#min -required

// this will detect 0.12.3
terraform {
  required_version  = "<0.12.3, >= 0.10.0"
}

@Zordrak alors que ce n'est pas prévu, seriez-vous ouvert à un PR ?

Je pense qu'il devrait être assez facile de faire le lien avec #118 (une fois que j'aurai enfin terminé mon RP - dont je dois d'abord terminer mon travail sur eslint-plugin-jest :joy:).

À tout le moins, cela pourrait être utilisé pour générer un fichier .terraform-version (et le maintenir à jour).

Je suis heureux de gérer la maintenance et le support de ces nouvelles fonctionnalités.

Ici et au #118, il y a des suggestions d'une contribution aux relations publiques. En avez-vous toujours l'intention ? J'avais tort auparavant quand j'ai dit que ce n'était pas un cas d'utilisation, car j'avais complètement oublié le travail minimum requis que d'autres ont contribué.

Si vous pensez pouvoir l'améliorer en toute sécurité, vous pouvez le proposer (avec les cas de test associés).

Sinon, ceci et #118 devraient probablement être fermés pour le moment.

@Zordrak, je suppose que vous faites référence à moi :)

En fait, j'ai ouvert #122 comme implémentation initiale pour #118, mais je l'ai fermé car il n'avait attiré l'attention de personne depuis plus d'un an.

Cela ne me dérange pas de reprendre ceci et de voir si je peux améliorer la logique actuelle si vous êtes heureux de revoir le PR, mais cela peut prendre un certain temps.

Les docs suggèrent une version nue, comme :

required_version = "0.12.5"

est analysé comme signifiant que la version minimale requise est 0.12.5 . (edit: j'ai testé - erreurs tfenv version-name si .terraform-version et la var env n'existent pas.)

Ce serait formidable IMO si, peut-être dans le cadre de l'analyse de > / < , leur absence (ou = ) serait traitée de la même manière que si 0.12.5 été spécifié dans un fichier .terraform-version séparé. C'est le propre comportement de terraform - "0.12.5" signifie 0.12.5 _only_, donc prendre cela au minimum ne fonctionnera pas s'il y a une version disponible >0.12.5 .

Cette page vous a été utile?
0 / 5 - 0 notes