method to avoid create duplicate namespace

This commit is contained in:
2025-04-24 22:37:03 +01:00
parent 6f7ae0e523
commit edea22d4d1
2 changed files with 61 additions and 29 deletions
+2 -1
View File
@@ -32,6 +32,7 @@ variable "kubernetes" {
})))
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)
@@ -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)
+39 -8
View File
@@ -1,10 +1,11 @@
kubernetes = {
bookstack = {
namespace = "bookstack"
enabled = true
# 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"
#image = "linuxserver/bookstack:24.10.3"
image = "linuxserver/bookstack:latest"
service_port = 80
database = {
"image" = "lscr.io/linuxserver/mariadb"
@@ -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,8 +468,10 @@ kubernetes = {
}
}
gotenberg = {
enabled = false
# enabled = false
name = "gotenberg"
namespace = "paper"
block_namespace_creation = true
image = "gotenberg/gotenberg:7.9.2"
service_port = 3000
@@ -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"
}
}
}