diff --git a/README.md b/README.md index 42a27ff..e0b0410 100644 --- a/README.md +++ b/README.md @@ -88,11 +88,11 @@ have a istio proxy configured, prevent communication with that pod.) | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.94.1 | -| [aws.eecr](#provider\_aws.eecr) | 5.94.1 | -| [helm](#provider\_helm) | 2.17.0 | -| [kubernetes](#provider\_kubernetes) | 2.36.0 | -| [null](#provider\_null) | 3.2.3 | +| [aws](#provider\_aws) | 6.0.0 | +| [aws.eecr](#provider\_aws.eecr) | 6.0.0 | +| [helm](#provider\_helm) | 3.0.2 | +| [kubernetes](#provider\_kubernetes) | 2.37.1 | +| [null](#provider\_null) | 3.2.4 | ## Modules diff --git a/main.tf b/main.tf index c3cc98c..49311af 100644 --- a/main.tf +++ b/main.tf @@ -73,39 +73,40 @@ resource "helm_release" "istiod" { version = var.istio_chart_version repository = "https://istio-release.storage.googleapis.com/charts" - set { - name = "pilot.image" - value = module.images.images[local.pilot_key].dest_full_path - } - set { - name = "global.hub" - value = module.images.images[local.pilot_key].dest_registry - } - set { - name = "global.proxy.image" - value = module.images.images[local.proxy_key].dest_full_path - } - set { - name = "global.proxy_init.image" - value = module.images.images[local.proxy_key].dest_full_path - } - - set { - name = "telemetry.enabled" - value = var.enable_telemetry - } - set { - name = "meshConfig.enableTracing" - value = "true" - } - set { - name = "meshConfig.accessLogFile" - value = "/dev/stdout" - } - set { - name = "global.proxy.excludeIPRanges" - value = "${var.kubernetes_service_apiserver}/32" - } + set = [ + { + name = "pilot.image" + value = module.images.images[local.pilot_key].dest_full_path + }, + { + name = "global.hub" + value = module.images.images[local.pilot_key].dest_registry + }, + { + name = "global.proxy.image" + value = module.images.images[local.proxy_key].dest_full_path + }, + { + name = "global.proxy_init.image" + value = module.images.images[local.proxy_key].dest_full_path + }, + { + name = "telemetry.enabled" + value = var.enable_telemetry + }, + { + name = "meshConfig.enableTracing" + value = "true" + }, + { + name = "meshConfig.accessLogFile" + value = "/dev/stdout" + }, + { + name = "global.proxy.excludeIPRanges" + value = "${var.kubernetes_service_apiserver}/32" + } + ] } resource "helm_release" "ingress" { @@ -117,94 +118,75 @@ resource "helm_release" "ingress" { version = var.istio_chart_version repository = "https://istio-release.storage.googleapis.com/charts" - set { - name = "service.annotations.service\\.beta\\.kubernetes\\.io/aws-load-balancer-type" - value = "nlb" - } - - set { - name = "service.annotations.service\\.beta\\.kubernetes\\.io/aws-load-balancer-internal" - type = "string" - value = "true" - } - - set { - name = "service.annotations.service\\.beta\\.kubernetes\\.io/aws-load-balancer-additional-resource-tags" - value = join("\\,", [for key, value in local.tags : "${key}=${value}"]) - } - - dynamic "set" { - for_each = local.ports - - content { - name = format("service.ports[%v].name", set.key) - value = set.value.name - } - } - dynamic "set" { - for_each = local.ports - - content { - name = format("service.ports[%v].port", set.key) - value = set.value.port - } - } - dynamic "set" { - for_each = local.ports - - content { - name = format("service.ports[%v].protocol", set.key) - value = "TCP" - } - } - dynamic "set" { - for_each = local.ports - - content { - name = format("service.ports[%v].targetPort", set.key) - value = set.value.port - } - } - - set { - name = "autoscaling.enabled" - value = "true" - } - - set { - name = "autoscaling.minReplicas" - value = "2" - } - - set { - name = "autoscaling.maxReplicas" - value = "5" - } - - set { - name = "autoscaling.targetCPUUtilizationPercentage" - value = "80" - } - - set { - name = "resources.requests.cpu" - value = "100m" - } - - set { - name = "resources.requests.memory" - value = "128Mi" - } - - set { - name = "resources.limits.cpu" - value = "2000m" - } - - set { - name = "resources.limits.memory" - value = "1Gi" - } + set = concat( + [ + { + name = "service.annotations.service\\.beta\\.kubernetes\\.io/aws-load-balancer-type" + value = "nlb" + }, + { + name = "service.annotations.service\\.beta\\.kubernetes\\.io/aws-load-balancer-internal" + type = "string" + value = "true" + }, + { + name = "service.annotations.service\\.beta\\.kubernetes\\.io/aws-load-balancer-additional-resource-tags" + value = join("\\,", [for key, value in local.tags : "${key}=${value}"]) + }, + { + name = "autoscaling.enabled" + value = "true" + }, + { + name = "autoscaling.minReplicas" + value = "2" + }, + { + name = "autoscaling.maxReplicas" + value = "5" + }, + { + name = "autoscaling.targetCPUUtilizationPercentage" + value = "80" + }, + { + name = "resources.requests.cpu" + value = "100m" + }, + { + name = "resources.requests.memory" + value = "128Mi" + }, + { + name = "resources.limits.cpu" + value = "2000m" + }, + { + name = "resources.limits.memory" + value = "1Gi" + } + ], + flatten([ + for port in local.ports : [ + { + name = format("service.ports[%v].name", port.key) + value = port.value.name + }, + { + name = format("service.ports[%v].port", port.key) + value = port.value.port + }, + { + name = format("service.ports[%v].protocol", port.key) + value = "TCP" + }, + { + name = format("service.ports[%v].targetPort", port.key) + value = port.value.port + }, + ] + ]), + ) timeout = 90 } @@ -220,10 +202,12 @@ resource "helm_release" "egress" { version = var.istio_chart_version repository = "https://istio-release.storage.googleapis.com/charts" - set { - name = "service.type" - value = "ClusterIP" - } + set = [ + { + name = "service.type" + value = "ClusterIP" + }, + ] timeout = 90 }