method to avoid create duplicate namespace
This commit is contained in:
@@ -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)
|
||||
|
||||
+45
-14
@@ -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"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user