2 Commits
Author SHA1 Message Date
pi-ux-ce ae83c9a258 adding oauthn and keycloak 2025-07-08 00:15:31 +01:00
pi-ux-ce a5e0e9a5c0 adding the command support 2025-07-08 00:15:14 +01:00
2 changed files with 113 additions and 9 deletions
+20 -7
View File
@@ -31,11 +31,10 @@ variable "kubernetes" {
})
}))
})))
replicas = optional(number, 1)
namespace = optional(string)
connected_namespace = optional(string, "")
# namespace = optional(string,coalesce(connected_namespace,""))
#block_namespace_creation = optional(bool, false)
replicas = optional(number, 1)
namespace = optional(string)
connected_namespace = optional(string, "")
command = optional(list(string))
service_port = optional(list(number))
service_type = optional(string, "ClusterIP")
service_name = optional(string)
@@ -350,6 +349,20 @@ resource "kubernetes_deployment_v1" "automatic" {
}
}
# dynamic "command" {
# for_each = each.value.command != null ? [1] : []
# content {
# [each.value.command]
# }
# }
# command = each.value.command != null ? {
# [each.value.command]
# } : {}
command = each.value.command != null ? each.value.command : []
dynamic "env" {
for_each = each.value.environment != null ? each.value.environment : {}
@@ -465,9 +478,9 @@ resource "kubernetes_deployment_v1" "automatic" {
}
dynamic "secret" {
for_each = volume.value.secret != null ? [1] : []
for_each = volume.value.secret ? [1] : []
content {
secret_name = volume.value.secret
secret_name = volume.value.name
}
}
+93 -2
View File
@@ -898,7 +898,9 @@ kubernetes = {
# dns_nameservers = "10.2.0.1"
service_port = [9696]
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/servarr/servarr-db.secret.yaml"]
database = {}
database = {
"image" = "docker.io/library/postgres:17.5"
}
environment = {
PUID = {
@@ -1514,11 +1516,100 @@ kubernetes = {
pvc = {
kubeconfig-secret = {
secret = true
name = "kubeconfig-secret"
name = "kubeconfig"
mount_path = "/kubeconfig"
}
}
}
keycloak = {
#enabled = false
name = "keycloak"
image = "quay.io/keycloak/keycloak:25.0.1"
service_port = [8080]
command = ["/opt/keycloak/bin/kc.sh", "start-dev"]
environment = {
KEYCLOAK_ADMIN = {
value = "admin"
}
KEYCLOAK_ADMIN_PASSWORD = {
value = "admin"
}
#KC_DB = {
# value = "dev-mem"
#}
KC_HTTP_ENABLED = {
value = "true"
}
KC_PROXY_HEADERS = {
value = "xforwarded"
}
KC_HOSTNAME_STRICT = {
value = "false"
}
KC_HOSTNAME = {
value = "https://keycloak.tryton.geeraert.eu"
}
KC_HOSTNAME_ADMIN = {
value = "https://keycloak.tryton.geeraert.eu"
}
}
requirements = {
limits-cpu = "1000m"
limits-memory = "1Gi"
requests-cpu = "500m"
requests-memory = "400Mi"
}
}
echo = {
enabled = true
image = "ealen/echo-server:latest"
service_port = [80]
# command = ["-text=Hello authenticated world!"]
}
oauth2-proxy = {
#enabled = false
image = "quay.io/oauth2-proxy/oauth2-proxy:latest"
service_port = [4180]
environment = {
OAUTH2_PROXY_PROVIDER = {
value = "oidc"
}
OAUTH2_PROXY_CLIENT_ID = {
value = "my-client"
}
OAUTH2_PROXY_CLIENT_SECRET = {
value = "el7RU2DKXhjxhF1wasyz1KhTppvw2lF4"
}
OAUTH2_PROXY_COOKIE_SECRET = {
value = "K70xBsslOnUFh9ehCggywlfb0c8OTzRRiOzdIuDz168="
}
OAUTH2_PROXY_COOKIE_DOMAIN = {
value = "oauthn.tryton.geeraert.eu"
}
OAUTH2_PROXY_OIDC_ISSUER_URL = {
value = "https://keycloak.tryton.geeraert.eu/realms/customer"
}
OAUTH2_PROXY_REDIRECT_URL = {
value = "https://echo.tryton.geeraert.eu/oauth2/callback"
}
OAUTH2_PROXY_EMAIL_DOMAINS = {
value = "*"
}
OAUTH2_PROXY_HTTP_ADDRESS = {
value = "0.0.0.0:4180"
}
}
}
}