Skip to content

schnell3526/terraform-provider-helm

 
 

Repository files navigation

Terraform logo

Helm Provider for Terraform (Community Fork)

Actions Status GitHub tag (latest SemVer) license

This is a community-maintained fork of hashicorp/terraform-provider-helm

Why this fork?

We operate Kubernetes platforms at a Japanese tech company and encountered critical bugs in the upstream provider that have not been addressed in a timely manner. Most notably, the state deletion bug (#1669) forced us to maintain permanent import.tf files as a workaround. While this prevented immediate failures, it still caused state drift and required constant communication overhead to explain the situation to team members.

This fork aims to:

  • Provide timely fixes for critical bugs
  • Maintain compatibility with latest Helm versions (including Helm v4 support)
  • Keep the provider usable for production workloads

If HashiCorp resumes active maintenance and addresses these issues, this fork may be archived.

Installation

terraform {
  required_providers {
    helm = {
      source  = "schnell3526/helm"
      version = "~> 3.1"
    }
  }
}

Migrating from hashicorp/helm

terraform {
  required_providers {
    helm = {
-      source  = "hashicorp/helm"
+      source  = "schnell3526/helm"
      version = "~> 3.1"
    }
  }
}
terraform init -upgrade

If you have existing state, you need to replace the provider reference:

terraform state replace-provider hashicorp/helm schnell3526/helm

State is compatible - no import required.

Changes from upstream

  • Fix: Preserve Terraform state on failed Helm operations (#1669)
  • Fix: Nil pointer crash when updating OCI chart dependencies (#1726)
  • Backport: Add StateUpdater for schema_version 0 (#1741) - Fixes upgrade path from provider versions < 2.17.0
  • Fix: terraform plan failing with read-only credentials (#1735) - Falls back to client-side dry-run when server-side dry-run is forbidden

Roadmap

  • Helm v4 support

About

This is the Helm provider for Terraform.

This provider allows you to install and manage Helm Charts in your Kubernetes cluster using Terraform.

Contents

Requirements

  • Terraform v1.x.x
  • Go v1.22.x (to build the provider plugin)

Getting Started

This is a small example of how to install the nginx ingress controller chart. Please read the documentation for more information.

provider "helm" {
  kubernetes = {
    config_path = "~/.kube/config"
  }
}

resource "helm_release" "nginx_ingress" {
  name       = "nginx-ingress-controller"

  repository = "oci://registry-1.docker.io/bitnamicharts"
  chart      = "nginx-ingress-controller"

  set = [
    {
    name  = "service.type"
    value = "ClusterIP"
    }
  ]
}

Contributing

The Helm Provider for Terraform is the work of many contributors. We appreciate your help!

To contribute, please read the contribution guidelines. You may also report an issue. Once you've filed an issue, it will follow the issue lifecycle.

Also available are some answers to Frequently Asked Questions.

About

Community fork of Terraform Helm provider with faster bug fixes. Manage Helm Charts in Kubernetes through Terraform.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 91.7%
  • Go Template 4.2%
  • Shell 2.1%
  • Makefile 1.1%
  • HCL 0.9%