This is a community-maintained fork of hashicorp/terraform-provider-helm
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.
terraform {
required_providers {
helm = {
source = "schnell3526/helm"
version = "~> 3.1"
}
}
}terraform {
required_providers {
helm = {
- source = "hashicorp/helm"
+ source = "schnell3526/helm"
version = "~> 3.1"
}
}
}terraform init -upgradeIf you have existing state, you need to replace the provider reference:
terraform state replace-provider hashicorp/helm schnell3526/helmState is compatible - no import required.
- 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 planfailing with read-only credentials (#1735) - Falls back to client-side dry-run when server-side dry-run is forbidden
- Helm v4 support
This is the Helm provider for Terraform.
This provider allows you to install and manage Helm Charts in your Kubernetes cluster using Terraform.
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"
}
]
}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.