Set separate Terraform and OpenTofu minimums to support air-gapped modules
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 70/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- go, terraform
- Domaine
- infrastructure
Piste de recherche
Commencez dans provisioner/terraform/install.go, au niveau de la vérification de version minimale existante, puis suivez la manière dont le moteur de provisionnement est identifié. Mettez à jour les tests pertinents de vérification des versions pour couvrir les versions minimales de Terraform et OpenTofu, y compris les versions maintenues égales ou inférieures à chaque seuil. Le travail est terminé lorsque chaque moteur est validé par rapport à sa propre version minimale sans revenir à Terraform.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
- We want to use dynamic module sources so users can point modules at an internal registry through a variable.
- Coder still accepts Terraform 1.1.0, which is no longer maintained.
- OpenTofu shares this check but has its own version numbers and support dates. It needs a separate minimum.
Background
Some modules hardcode registry.coder.com when they call other modules. Mirroring the top-level module leaves those public registry requests in place.
Dynamic sources require Terraform 1.15 or OpenTofu 1.8. Coder already defaults to Terraform 1.15.5. The minimum still sits at 1.1.0 in provisioner/terraform/install.go:27:
minTerraformVersion = version.Must(version.NewVersion("1.1.0"))
Proposal
Keep the existing version check, but choose the minimum for each engine: Terraform 1.15 or OpenTofu 1.12. Both release series are maintained.
Once we identify the engine, the comparison is:
minimum := version.Must(version.NewVersion("1.15.0"))
if engine == "opentofu" {
minimum = version.Must(version.NewVersion("1.12.0"))
}
supported := installedVersion.GreaterThanOrEqual(minimum)
Add engine detection and tests for both minimums. Keep OpenTofu as OpenTofu rather than falling back to Terraform.
The Terraform download path already exists and uses Coder's pinned version, not the newest release. Announce the new minimums before updating registry modules. Air-gapped installs and custom provisioner images with older binaries need a local binary update.
Alternatives
- Raise the shared minimum: reject maintained OpenTofu releases and download Terraform instead. Bad for OpenTofu users.
- Keep the minimum and adopt dynamic sources: newer modules fail on older binaries that Coder accepts. Bad user experience.
- Keep hardcoded sources: mirrored modules still contact the public registry. Bad for air-gapped use.
Related: #12009.
Generated by Coder Agents on behalf of @bpmct.
- Langage dominant
- Go
- Étoiles
- 16.9k
- Forks
- 1.6k
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 515
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de coder/coder
-
Difficulté 2/5 1-2 jours Accessibilité débutants 76/100
coder/coder#30278 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
OpenAI-Compatible AI provider never uses the Responses APIPeut-être pris @bpmct l’a pris il y a 12 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
coder/coder#30070 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
coder/coder#30066 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
coder/coder#30047 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
coder/coder#29968 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de coder/coder
Issues similaires
-
tag renaming / editing is brokenOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
Les mainteneurs répondent en général sous 1 jour
-
bug go
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
genkit-ai/genkit#6761 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 87/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
github/github-mcp-server#3475 ·
Les mainteneurs répondent en général sous 4 jours