Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/blackbird-cloud/terraform-google-gke-helm-deployment
Helpers to quickly deploy helm charts on GKE cluster
https://github.com/blackbird-cloud/terraform-google-gke-helm-deployment
gke helm kubernetes terraform
Last synced: 8 days ago
JSON representation
Helpers to quickly deploy helm charts on GKE cluster
- Host: GitHub
- URL: https://github.com/blackbird-cloud/terraform-google-gke-helm-deployment
- Owner: blackbird-cloud
- License: apache-2.0
- Created: 2022-09-09T13:53:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-19T14:31:22.000Z (4 months ago)
- Last Synced: 2024-11-13T08:14:06.865Z (2 months ago)
- Topics: gke, helm, kubernetes, terraform
- Language: HCL
- Homepage:
- Size: 53.7 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Terraform Google Gke Helm Deployment Module
Helpers to quickly deploy helm charts on GKE cluster[![blackbird-logo](https://raw.githubusercontent.com/blackbird-cloud/terraform-module-template/main/.config/logo_simple.png)](https://blackbird.cloud)
## Example
```hcl
module "helm_release" {
source = "blackbird-cloud/gke-helm-deployment/google"
version = "~> 1"project = "my-google-project"
region = "europe-west4-c"
cluster_name = "my-gke-cluster-name"name = "my-app"
namespace = "my-app"
create_namespace = truerepository = "https://prometheus-community.github.io/helm-charts"
chart = "prometheus"
chart_version = "23.1.0"values = [
yamlencode({
alertmanager : {
enabled : false
},
prometheus-pushgateway : {
enabled : false
}
})
]cleanup_on_fail = true
wait = true
}
```## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.1 |
| [google](#requirement\_google) | 4.34.0 |
| [helm](#requirement\_helm) | 2.6.0 |## Providers
| Name | Version |
|------|---------|
| [google](#provider\_google) | 4.34.0 |## Resources
| Name | Type |
|------|------|
| [google_client_config.provider](https://registry.terraform.io/providers/hashicorp/google/4.34.0/docs/data-sources/client_config) | data source |
| [google_container_cluster.my_cluster](https://registry.terraform.io/providers/hashicorp/google/4.34.0/docs/data-sources/container_cluster) | data source |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [atomic](#input\_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](#input\_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. | `string` | `""` | no |
| [chart\_version](#input\_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](#input\_cleanup\_on\_fail) | Allow deletion of new resources created in this upgrade when upgrade fails. Defaults to true. | `bool` | `false` | no |
| [cluster\_name](#input\_cluster\_name) | Cluster name | `string` | n/a | yes |
| [create\_namespace](#input\_create\_namespace) | Create the namespace if it does not yet exist. Defaults to false. | `bool` | `false` | no |
| [description](#input\_description) | Set release description attribute (visible in the history). | `string` | `null` | no |
| [disable\_webhooks](#input\_disable\_webhooks) | Prevent hooks from running. Defaults to false. | `bool` | `false` | no |
| [force\_update](#input\_force\_update) | Force resource update through delete/recreate if needed. Defaults to false. | `bool` | `false` | no |
| [name](#input\_name) | Release name. | `string` | n/a | yes |
| [namespace](#input\_namespace) | The namespace to install the release into. Defaults to default. | `string` | `"default"` | no |
| [project](#input\_project) | Google Project ID | `string` | n/a | yes |
| [recreate\_pods](#input\_recreate\_pods) | Perform pods restart during upgrade/rollback. Defaults to false. | `bool` | `false` | no |
| [region](#input\_region) | Google Region | `string` | n/a | yes |
| [repository](#input\_repository) | Repository URL where to locate the requested chart. | `string` | `null` | no |
| [repository\_password](#input\_repository\_password) | Password for HTTP basic authentication against the repository. | `string` | `null` | no |
| [repository\_username](#input\_repository\_username) | Username for HTTP basic authentication against the repository. | `string` | `null` | no |
| [sensitive\_values](#input\_sensitive\_values) | Which sensitive values to install for the helm chart. | `list(string)` | `[]` | no |
| [timeout](#input\_timeout) | Time in seconds to wait for any individual kubernetes operation (like Jobs for hooks). Defaults to 300 seconds. | `number` | `300` | no |
| [values](#input\_values) | Which values to install for the helm chart. | `list(string)` | `[]` | no |
| [wait](#input\_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](#input\_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 |## Outputs
| Name | Description |
|------|-------------|
| [deployment](#output\_deployment) | The helm release |## About
We are [Blackbird Cloud](https://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 :point\_right: [terraform modules](https://registry.terraform.io/namespaces/blackbird-cloud)
## Copyright
Copyright © 2017-2024 [Blackbird Cloud](https://blackbird.cloud)