diff --git a/module.tf b/module.tf index 2362c82..c6bca09 100644 --- a/module.tf +++ b/module.tf @@ -30,20 +30,21 @@ variable "kubernetes" { }) })) }))) - replicas = optional(number, 1) - namespace = optional(string) - service_port = optional(number) - service_type = optional(string, "ClusterIP") - service_name = optional(string) - liveness_tcp_socket = optional(number) - liveness_http_get = optional(string) - liveness_http_get_path = optional(string) - database = optional(map(string)) - redis = optional(map(string)) - enabled = optional(bool, true) - secret_ref = optional(list(string)) - config_map_ref = optional(list(string)) - extra_manifest = optional(list(string)) + replicas = optional(number, 1) + namespace = optional(string) + block_namespace_creation = optional(bool, false) + service_port = optional(number) + service_type = optional(string, "ClusterIP") + service_name = optional(string) + liveness_tcp_socket = optional(number) + liveness_http_get = optional(string) + liveness_http_get_path = optional(string) + database = optional(map(string)) + redis = optional(map(string)) + enabled = optional(bool, true) + secret_ref = optional(list(string)) + config_map_ref = optional(list(string)) + extra_manifest = optional(list(string)) requirements = optional(map(string), { limits-cpu = "800m" limits-memory = "500Mi" @@ -84,7 +85,7 @@ locals { data "kubernetes_all_namespaces" "allns" {} resource "kubernetes_namespace" "automatic" { - for_each = { for key, value in var.kubernetes : key => value if value.enabled == true } + for_each = { for key, value in var.kubernetes : key => value if value.enabled == true && !(value.block_namespace_creation) } metadata { annotations = { name = coalesce(each.value.namespace, each.key) diff --git a/variables.auto.tfvars b/variables.auto.tfvars index b8dedb5..a0fa3ce 100644 --- a/variables.auto.tfvars +++ b/variables.auto.tfvars @@ -1,11 +1,12 @@ kubernetes = { bookstack = { - namespace = "bookstack" - enabled = true + namespace = "bookstack" + # enabled = false replicas = 01 extra_manifest = ["/opt/kubernetes/Bookstack_kube/Bookstack.configmap.yaml", "/opt/kubernetes/Bookstack_kube/Bookstack.secret.yaml"] - image = "linuxserver/bookstack:24.10.3" - service_port = 80 + #image = "linuxserver/bookstack:24.10.3" + image = "linuxserver/bookstack:latest" + service_port = 80 database = { "image" = "lscr.io/linuxserver/mariadb" "port" = 3306 @@ -73,7 +74,7 @@ kubernetes = { screeps = { - # enabled = false + # enabled = false name = "screeps-server" image = "screepers/screeps-launcher" service_port = 21025 @@ -91,7 +92,7 @@ kubernetes = { requests-memory = "400Mi" } pvc = { - volume = { + screeps-volume = { name = "screeps" pvc_size = "1Gi" pvc = true @@ -120,7 +121,7 @@ kubernetes = { requests-memory = "150Mi" } pvc = { - volume = { + stirling-volume = { name = "stirling-pdf" pvc_size = "100Mi" pvc = true @@ -133,6 +134,7 @@ kubernetes = { stash = { + enabled = false replicas = 0 name = "stash" image = "stashapp/stash:latest" @@ -192,7 +194,7 @@ kubernetes = { } onitama = { - enabled = true + enabled = false namespace = "onitama" image = "ghcr.io/jackadamson/onitama:latest" service_port = 8080 @@ -347,7 +349,7 @@ kubernetes = { paper = { - enabled = false + # enabled = false namespace = "paper" image = "ghcr.io/paperless-ngx/paperless-ngx:latest" service_port = 8000 @@ -466,10 +468,12 @@ kubernetes = { } } gotenberg = { - enabled = false - name = "gotenberg" - image = "gotenberg/gotenberg:7.9.2" - service_port = 3000 + # enabled = false + name = "gotenberg" + namespace = "paper" + block_namespace_creation = true + image = "gotenberg/gotenberg:7.9.2" + service_port = 3000 requirements = { limits-cpu = "100m" @@ -698,7 +702,7 @@ kubernetes = { } dupeguru = { - # enabled = false + enabled = false image = "jlesage/dupeguru" service_port = 5800 @@ -730,4 +734,31 @@ kubernetes = { } } + pinchflat = { + enabled = false + image = "ghcr.io/kieraneglin/pinchflat:latest" + service_port = 8945 + + pvc = { + pinchflat-config = { + pvc = true + name = "pinchflat-config" + pvc_size = "2Mi" + mount_path = "/config" + } + pinchflat-storage = { + pvc = true + name = "pinchflat-storage" + pvc_size = "2Mi" + mount_path = "/downloads" + } + } + requirements = { + limits-cpu = "900m" + limits-memory = "600Mi" + requests-cpu = "300m" + requests-memory = "400Mi" + } + + } }