diff --git a/infrastructure/deployment.tf b/infrastructure/deployment.tf index 325346a..5ead9ff 100644 --- a/infrastructure/deployment.tf +++ b/infrastructure/deployment.tf @@ -5,7 +5,7 @@ module "ingress" { } module "middlewares" { - source = "../modules/middlewares" + source = "../modules/middlewares" } module "services" { diff --git a/modules/ingress/ingress.tf b/modules/ingress/ingress.tf index 2a02a27..ccfad6a 100644 --- a/modules/ingress/ingress.tf +++ b/modules/ingress/ingress.tf @@ -15,15 +15,11 @@ variable "kubernetes_input" { } -variable default_middlwares { - type = optional(string) - default = "https-redirect,ratelimit" +variable "default_middlewares" { + type = string + default = "traefik-https-redirect@kubernetescrd,traefik-ratelimit@kubernetescrd" } -variable "middlewares_list" { - type = optional(string) - default = join(",",var.default_middlwares,var.kubernetes_input.middlewares) -} resource "kubernetes_ingress_v1" "automatic_ingress" { # Keep your top-level filter for filtering active services @@ -38,14 +34,9 @@ resource "kubernetes_ingress_v1" "automatic_ingress" { "cert-manager.io/cluster-issuer" = "letsencrypt-prod" "traefik.ingress.kubernetes.io/router.entrypoints" = "websecure" }, - # Simply injects the middleware string if it is present and not empty - #lookup(each.value, "middlewares", "") != "" ? { - # "traefik.ingress.kubernetes.io/router.middlewares" = each.value.middlewares - #} : {} - #each.value.middlewares != null ? {"traefik.ingress.kubernetes.io/router.middlewares" = each.value.middlewares } : {} - var.middlewares_list != null ? {"traefik.ingress.kubernetes.io/router.middlewares" = var.middlewares_list } : {} - - + { + "traefik.ingress.kubernetes.io/router.middlewares" = join(",", compact([var.default_middlewares, each.value.middlewares])) + } ) } diff --git a/modules/middlewares/middlewares.tf b/modules/middlewares/middlewares.tf index ca76086..b073ac9 100644 --- a/modules/middlewares/middlewares.tf +++ b/modules/middlewares/middlewares.tf @@ -26,7 +26,7 @@ resource "kubernetes_manifest" "traefik_Middleware_https-redirect" { } "spec" = { "redirectScheme" = { - "scheme" = "https" + "scheme" = "https" "permanent" = "true" } }