Terraform Helm provider¶
The Terraform Helm provider allows users to manage Helm chart releases using Terraform, enabling the Infrastructure as Code (IaC) automation of Kubernetes applications.^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md]
Initialization¶
To use the provider, it must be initialized using the standard Terraform workflow. Running terraform init downloads the required provider plugins (specifically hashicorp/helm) and sets up the environment.^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md]
helm_release Resource¶
The primary resource provided by this plugin is helm_release, which defines the deployment of a specific chart.^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md]
Key arguments for this resource include:
- Repository: The URL where the Helm chart is located (e.g.,
https://kubernetes.github.io/dashboard/).^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md] - Chart: The name of the chart to be installed (e.g.,
kubernetes-dashboard).^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md] - Namespace: The Kubernetes Namespace for the deployment (defaults to
default).^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md] - Name: A unique identifier for the release within Terraform.^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md]
Configuration and Customization¶
The provider supports extensive customization of the deployed application through the use of set blocks.^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md] These blocks allow users to override default chart values by specifying pairs of:
- Name: The configuration path (e.g.,
replicaCount,service.type). - Value: The desired setting (e.g.,
2,LoadBalancer).^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md]
Execution and Verification¶
The deployment is executed by running terraform apply, which generates a plan showing the resources to be created (indicated by a + symbol)^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md]. Once applied, the status of the release can be verified using standard Helm commands, such as helm list, to confirm the deployment status and revision^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md].
Related Concepts¶
Sources¶
^[400-devops-06-kubernetes-devops-helm-terraform-helm-readme.md]