Helpers to quickly deploy helm charts on Kubernetes cluster
provider "helm" {
kubernetes {
host = "my-k8s-host"
cluster_ca_certificate = "my-k8s-ca-cert"
token = "my-k8s-token"
}
}
module "helm_release" {
source = "blackbird-cloud/deployment/helm"
version = "1.2.1"
name = "my-app"
description = "my-app!"
namespace = "develop-app"
cleanup_on_fail = true
force_update = true
wait = true
wait_for_jobs = true
values = [
yamlencode({
image : {
repository : "my-docker-image"
tag : "v1.0.0"
}
})
]
}
Name | Version |
---|---|
terraform | >= 1.1 |
helm | ~> 2 |
Name | Version |
---|---|
helm | ~> 2 |
Name | Type |
---|---|
helm_release.deployment | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
atomic | If set, installation process purges chart on fail. The wait flag will be set automatically if atomic is used. Defaults to false. | bool |
false |
no |
chart | Chart name to be installed. The chart name can be local path, a URL to a chart, or the name of the chart if repository is specified. It is also possible to use the / format here if you are running Terraform on a system that the repository has been added to with helm repo add but this is not recommended. Defaults to the local chart in this module. | string |
"" |
no |
chart_version | Specify the exact chart version to install. If this is not specified, the latest version is installed. helm_release will not automatically grab the latest release, version must explicitly upgraded when upgrading an installed chart. | string |
null |
no |
cleanup_on_fail | Allow deletion of new resources created in this upgrade when upgrade fails. Defaults to true. | bool |
false |
no |
create_namespace | Create the namespace if it does not yet exist. Defaults to false. | bool |
false |
no |
description | Set release description attribute (visible in the history). | string |
null |
no |
disable_webhooks | Prevent hooks from running. Defaults to false. | bool |
false |
no |
force_update | Force resource update through delete/recreate if needed. Defaults to false. | bool |
false |
no |
name | Release name. | string |
n/a | yes |
namespace | The namespace to install the release into. Defaults to default. | string |
"default" |
no |
recreate_pods | Perform pods restart during upgrade/rollback. Defaults to false. | bool |
false |
no |
repository | Repository URL where to locate the requested chart. | string |
null |
no |
repository_password | Password for HTTP basic authentication against the repository. | string |
null |
no |
repository_username | Username for HTTP basic authentication against the repository. | string |
null |
no |
sensitive_values | Which sensitive values to install for the helm chart. | list(string) |
[] |
no |
timeout | Time in seconds to wait for any individual kubernetes operation (like Jobs for hooks). Defaults to 300 seconds. | number |
300 |
no |
values | Which values to install for the helm chart. | list(string) |
[] |
no |
wait | Will wait until all resources are in a ready state before marking the release as successful. It will wait for as long as timeout. Defaults to true. | bool |
true |
no |
wait_for_jobs | If wait is enabled, will wait until all Jobs have been completed before marking the release as successful. It will wait for as long as timeout. Defaults to false. | bool |
true |
no |
Name | Description |
---|---|
helm_release | The installed Helm release. |
We are Blackbird Cloud, Amsterdam based cloud consultancy, and cloud management service provider. We help companies build secure, cost efficient, and scale-able solutions.
Checkout our other 👉 terraform modules
Copyright © 2017-2024 Blackbird Cloud