diff --git a/module.tf b/module.tf index 3024112..d571f67 100644 --- a/module.tf +++ b/module.tf @@ -35,7 +35,7 @@ variable "kubernetes" { connected_namespace = optional(string, "") # namespace = optional(string,coalesce(connected_namespace,"")) #block_namespace_creation = optional(bool, false) - service_port = optional(number) + service_port = optional(list(number)) service_type = optional(string, "ClusterIP") service_name = optional(string) liveness_tcp_socket = optional(number) @@ -205,10 +205,19 @@ resource "kubernetes_service" "automatic_service" { selector = { app = each.key } - port { - port = each.value.service_port - target_port = each.value.service_port + dynamic "port" { + for_each = each.value.service_port != null ? each.value.service_port : [] + content { + port = port.value + target_port = port.value + + } } + + # port { + # port = each.value.service_port + # target_port = each.value.service_port + # } type = each.value.service_type @@ -298,10 +307,10 @@ resource "kubernetes_deployment_v1" "automatic" { image = each.value.image name = coalesce(each.value.name, each.key) dynamic "port" { - for_each = each.value.service_port != null ? [""] : [] + for_each = each.value.service_port != null ? each.value.service_port : [] content { - container_port = each.value.service_port - name = each.key + container_port = port.value + name = "${each.key}-${port.value}" } } diff --git a/variables.auto.tfvars b/variables.auto.tfvars index d49786c..a2a2369 100644 --- a/variables.auto.tfvars +++ b/variables.auto.tfvars @@ -6,7 +6,7 @@ kubernetes = { extra_manifest = ["/opt/kubernetes/Bookstack_kube/Bookstack.configmap.yaml", "/opt/kubernetes/Bookstack_kube/Bookstack.secret.yaml"] #image = "linuxserver/bookstack:24.10.3" image = "linuxserver/bookstack:latest" - service_port = 80 + service_port = [80,443] database = { "image" = "lscr.io/linuxserver/mariadb" "port" = 3306 @@ -77,7 +77,7 @@ kubernetes = { enabled = false name = "screeps-server" image = "screepers/screeps-launcher" - service_port = 21025 + service_port = [21025] service_type = "LoadBalancer" environment = { @@ -107,7 +107,7 @@ kubernetes = { enabled = false name = "stirling-pdf" image = "docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest" - service_port = 8080 + service_port = [8080] environment = { LANGS = { @@ -138,7 +138,7 @@ kubernetes = { replicas = 0 name = "stash" image = "stashapp/stash:latest" - service_port = 9999 + service_port = [9999] #extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/stash/stash-reddit-dowloader.configmap.yml"] environment = { STASH_STASH = { @@ -301,7 +301,7 @@ kubernetes = { enabled = false namespace = "onitama" image = "ghcr.io/jackadamson/onitama:latest" - service_port = 8080 + service_port = [8080] requirements = { limits-cpu = "50m" limits-memory = "50Mi" @@ -355,7 +355,7 @@ kubernetes = { redis = { enabled = false image = "redis" - service_port = 6379 + service_port = [6379] liveness_tcp_socket = 6379 # environment_variables = [{ # "name" : "redis_PORT", @@ -366,7 +366,7 @@ kubernetes = { vulcan = { enabled = false image = "localhost:31795/vulcan-frontend:latest" - service_port = 80 + service_port = [80] requirements = { limits-cpu = "50m" limits-memory = "50Mi" @@ -394,7 +394,7 @@ kubernetes = { requests-cpu = "50m" requests-memory = "50Mi" } - service_port = 3000 + service_port = [3000] pvc_size = "1Gi" mount_path = "/data" } @@ -407,7 +407,7 @@ kubernetes = { requests-cpu = "50m" requests-memory = "50Mi" } - service_port = 3000 + service_port = [3000] pvc_size = "1Gi" mount_path = "/data" } @@ -415,7 +415,7 @@ kubernetes = { notmuch = { enabled = false image = "kalbasit/notmuch" - service_port = 80 + service_port = [80] } spider = { @@ -428,7 +428,7 @@ kubernetes = { requests-cpu = "50m" requests-memory = "50Mi" } - service_port = 8080 + service_port = [8080] pvc = { spider-data = { pvc = true @@ -448,7 +448,7 @@ kubernetes = { requests-cpu = "50m" requests-memory = "50Mi" } - service_port = 80 + service_port = [80] } @@ -456,7 +456,7 @@ kubernetes = { enabled = false namespace = "paper" image = "ghcr.io/paperless-ngx/paperless-ngx:latest" - service_port = 8000 + service_port = [8000] database = { image = "docker.io/library/postgres:15" } redis = { @@ -576,7 +576,7 @@ kubernetes = { name = "gotenberg" connected_namespace = "paper" image = "gotenberg/gotenberg:7.9.2" - service_port = 3000 + service_port = [3000] requirements = { limits-cpu = "100m" @@ -592,7 +592,7 @@ kubernetes = { name = "tika" connected_namespace = "paper" image = "ghcr.io/paperless-ngx/tika" - service_port = 9998 + service_port = [9998] requirements = { limits-cpu = "100m" @@ -613,7 +613,7 @@ kubernetes = { namespace = "next" replicas = 01 image = "nextcloud:29.0.3-apache" - service_port = 80 + service_port = [80] extra_manifest = ["/opt/kubernetes/Nextcloud_kube/next.secret.yaml"] database = { image = "docker.io/library/postgres:14" } @@ -705,7 +705,7 @@ kubernetes = { enabled = false name = "neko" image = "ghcr.io/m1k1o/neko/firefox:latest" - service_port = 8080 + service_port = [8080] environment = { @@ -735,7 +735,7 @@ kubernetes = { homeassistant = { enabled = false image = "ghcr.io/home-assistant/home-assistant:stable" - service_port = 8123 + service_port = [8123] environment = { @@ -770,7 +770,7 @@ kubernetes = { # enabled = false replicas = 0 image = "jellyfin/jellyfin:latest" - service_port = 8096 + service_port = [8096] environment = { @@ -809,7 +809,7 @@ kubernetes = { dupeguru = { enabled = false image = "jlesage/dupeguru" - service_port = 5800 + service_port = [5800] pvc = { dupeguru-config = { @@ -843,7 +843,7 @@ kubernetes = { enabled = false connected_namespace = "screeps" image = "ghcr.io/kieraneglin/pinchflat:latest" - service_port = 8945 + service_port = [8945] pvc = { pinchflat-config = { @@ -871,7 +871,7 @@ kubernetes = { enabled = false connected_namespace = "stash" image = "rainmanjam/jobspy-api:latest" - service_port = 8000 + service_port = [8000] environment = { ENABLE_API_KEY_AUTH = { value = "true" @@ -940,35 +940,15 @@ kubernetes = { } - # requirements = { - # limits-cpu = "1000m" - # limits-memory = "1Gi" - # requests-cpu = "500m" - # requests-memory = "400Mi" - # } - pvc = { - prowlarr-config = { - name = "prowlarr-config" - pvc_size = "10Mi" - pvc = true - mount_path = "/config" - } - servarr-data = { - name = "servarr-data" - pvc_size = "10Mi" - pvc = false - host_path = "/data" - mount_path = "/disk" - } - } } + radarr = { #enabled = false image = "lscr.io/linuxserver/radarr:latest" connected_namespace = "servarr" - service_port = 7878 #replicas = 0 + service_port = [7878] environment = { PUID = { @@ -1010,8 +990,9 @@ kubernetes = { #enabled = false image = "lscr.io/linuxserver/sonarr:latest" connected_namespace = "servarr" - service_port = 8989 #replicas = 0 + service_port = [8989] + environment = { PUID = { value = "1000" @@ -1094,12 +1075,14 @@ kubernetes = { flaresolverr = { - # enabled = false #image = "ghcr.io/flaresolverr/flaresolverr:latest" image = "alexfozor/flaresolverr:pr-1300-experimental" connected_namespace = "servarr" - service_port = 8191 + enabled = false + image = "ghcr.io/flaresolverr/flaresolverr:latest" + connected_namespace = "tservarr" + service_port = [8191] environment = { PUID = { @@ -1127,7 +1110,7 @@ kubernetes = { poste = { enabled = false image = "analogic/poste.io:latest" - service_port = 443 + service_port = [443] environment = { PUID = {