Skip to content

Incompatibility with Helm provider v3.x: upgrade_install argument not supportedΒ #121

@Franck-Sorel

Description

@Franck-Sorel
  • I've searched for similar issues and didn't find any solution

πŸ’» Environment

  • Platform: Linux
  • OS: Ubuntu 22.04
  • Version(s): 1.7.x
  • Helm Provider Version: v3.0.0 / v3.0.2
    Module Version: terraform-module/release/helm v2.9.1

πŸ’― Expected behavior

The module should work correctly with Helm provider v3.x, and upgrade_install should not cause validation errors.

🐞 Actual behavior

Terraform validate fails with an unsupported argument error because the module still sets upgrade_install in the helm_release resource.

Bug description

The module terraform-module/release/helm v2.9.1 declares:

terraform {
  required_providers {
    helm = {
      source  = "hashicorp/helm"
      version = ">= 3.0"
    }
  }
}

However, in main.tf the helm_release resource contains:

upgrade_install = lookup(var.app, "upgrade_install", false)

The upgrade_install argument was removed in Helm provider v3.x, so running terraform validate results in:

Full code that generated the error

module "envoy_gateway" {
  source  = "terraform-module/release/helm"
  version = ">= 2.9.1"

  repository = "oci://docker.io/envoyproxy"
  namespace  = var.envoy_gateway_namespace

  app = {
    name    = "eg"
    version = var.chart_version
    chart   = "gateway-helm"
    deploy  = 1
    create_namespace = true
  }

  set    = []
  values = [templatefile("${path.module}/charts/envoy-gateway-override/values.yaml.tpl", {
    enable_redis   = var.enable_redis
    redis_namespace = var.redis_namespace
  })]

  depends_on = []
}

Full error message

Error: Unsupported argument

  on .terraform/modules/envoy_gateway/main.tf line 33, in resource "helm_release" "this":
  33:   upgrade_install = lookup(var.app, "upgrade_install", false)

An argument named "upgrade_install" is not expected here.

πŸ”¨ Steps to reproduce

  1. Create a Terraform configuration that calls the module terraform-module/release/helm v2.9.1.
  2. Pin Helm provider version >= 3.0 (or let Terraform resolve automatically)
  3. Run terraform init.
  4. Run terraform validate.
  5. Observe the validation error about upgrade_install.

πŸ’ Possible Solution

  • Remove the upgrade_install argument from the helm_release resource in main.tf
  • This will make the module compatible with Helm provider v3.x.
  • I am willing to submit a Pull Request implementing this fix.

Are you willing to resolve this issue by submitting a Pull Request❓

  • Yes, I have the time, and I know how to start.
  • Yes, I have the time, but I don't know how to start. I would need guidance.
  • No, I don't have the time, although I believe I could do it if I had the time...
  • No, I don't have the time and I wouldn't even know how to start.

πŸ“¦ Additional info

  • Tested with Helm provider v3.0.0 and v3.0.2
  • Terraform 1.7.x

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions