terraform-helm-istio
This terraform module will deploy istio on any kubernetes cluster, using the official helm charts.
Helm Chart | Repo | Default Values |
---|---|---|
base | repo | values |
cni | repo | values |
istiod | repo | values |
gateway | repo | values |
Usage
provider "kubernetes" {
config_path = "~/.kube/config"
}
provider "helm" {
kubernetes {
config_path = "~/.kube/config"
}
}
module "istio" {
source = "boeboe/istio/helm"
version = "0.0.2"
istio_version = "1.15.3"
istio_istiod_settings = {
"pilot.autoscaleMin" = 2
"pilot.autoscaleMax" = 4
}
istio_gateway_settings = {
"autoscaling.minReplicas" = 2
"autoscaling.maxReplicas" = 4
}
}
output "istio_istiod_helm_metadata" {
description = "block status of the istio istiod helm release"
value = module.istio.istio_istiod_helm_metadata[0]
}
Check the examples for more details.
Inputs
Name | Description | Type | Default | Required |
---|---|---|---|---|
istio_version | istio version | string | - | true |
istio_helm_namespace | istio helm namespace | string | "istio-system" | false |
istio_helm_repo | istio helm repository | string | "https://istio-release.storage.googleapis.com/charts" | false |
istio_base_settings | istio base settings | map | {} | false |
istio_base_enabled | enable helm install of istio base | bool | true | false |
istio_cni_settings | istio cni settings | map | {} | false |
istio_cni_enabled | enable helm install of istio cni | bool | false | false |
istio_istiod_settings | istio istiod settings | map | {} | false |
istio_istiod_enabled | enable helm install of istio istiod | bool | true | false |
istio_gateway_settings | istio gateway settings | map | {} | false |
istio_gateway_enabled | enable helm install of istio gateway | bool | true | false |
Outputs
Name | Description | Type |
---|---|---|
istio_base_helm_metadata | block status of the istio base helm release | list |
istio_cni_helm_metadata | block status of the istio cni helm release | list |
istio_istiod_helm_metadata | block status of the istio istiod helm release | list |
istio_gateway_helm_metadata | block status of the istio gateway helm release | list |
Example output:
istio_istiod_helm_metadata = {
"app_version" = "1.15.3"
"chart" = "istiod"
"name" = "istio-istiod"
"namespace" = "istio-system"
"revision" = 1
"values" = "{\"pilot\":{\"autoscaleMax\":4,\"autoscaleMin\":2}}"
"version" = "1.15.3"
}
More information
TBC
License
terraform-helm-istio is released under the MIT License. See the bundled LICENSE file for details.