kubernetes = { bookstack = { #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" image = "linuxserver/bookstack:latest" service_port = [80, 443] database = { "engine" = "mysql" "image" = "lscr.io/linuxserver/mariadb" "port" = 3306 "mountPath" = "/config" username = "bookstack_username" name = "bookstackapp" } # requirements = { # limits-cpu = "18m" # limits-memory = "100Mi" # requests-cpu = "10m" # requests-memory = "70Mi" # } secret_ref = ["bookstack-credentials"] config_map_ref = ["config"] environment = { POSTGRES_HOST = { value = "db" } } environment = { MYSQL_ROOT_PASSWORD = { value_from = { secret_key_ref = { name = "bookstack-credentials" key = "DB_PASS" } } } MYSQL_DATABASE = { value_from = { secret_key_ref = { name = "bookstack-credentials" key = "DB_DATABASE" } } } MYSQL_USER = { value_from = { secret_key_ref = { name = "bookstack-credentials" key = "DB_USER" } } } MYSQL_PASSWORD = { value_from = { secret_key_ref = { name = "bookstack-credentials" key = "DB_PASS" } } } } pvc = { bookstack-webserver = { name = "bookstack-webserver" pvc = true pvc_size = "2Gi" mount_path = "/config" } } } screeps = { enabled = false name = "screeps-server" image = "screepers/screeps-launcher" service_port = [21025] service_type = "LoadBalancer" environment = { STEAM_KEY = { value = "F2B37945342AD0DBD6DCAF3440E77C4E" } } requirements = { limits-cpu = "1000m" limits-memory = "1Gi" requests-cpu = "500m" requests-memory = "400Mi" } pvc = { screeps-volume = { name = "screeps" pvc_size = "1Gi" pvc = true mount_path = "/screeps" } } } stirling = { enabled = false name = "stirling-pdf" image = "stirlingtools/stirling-pdf:2.0.0" domain_name = "stirling" service_port = [8080] environment = { LANGS = { value = "en_GB" } SECURITY_ENABLELOGIN = { value = "false" } } # requirements = { # limits-cpu = "100m" # limits-memory = "300Mi" # requests-cpu = "50m" # requests-memory = "150Mi" # } pvc = { stirling-volume = { name = "stirling-pdf" pvc_size = "100Mi" pvc = true mount_path = "/configs" } } } stash = { # enabled = false replicas = 0 name = "stash" #image = "stashapp/stash:latest" image = "stashapp/stash:v0.30.1" service_port = [9999] #extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/stash/stash-reddit-dowloader.configmap.yml"] environment = { STASH_STASH = { value = "/data/" } STASH_GENERATED = { value = "/generated/" } STASH_METADATA = { value = "/metadata/" } STASH_CACHE = { value = "/cache/" } STASH_PORT = { value = "9999" } } requirements = { limits-cpu = "1000m" limits-memory = "3000Mi" requests-cpu = "50m" requests-memory = "150Mi" } pvc = { data = { name = "data" pvc_size = "100Mi" pvc = true mount_path = "/data" storage_class_name = "nfs-storage-fastaccess" } metadata = { name = "metadata" pvc_size = "100Mi" pvc = true mount_path = "/metadata" } generated = { name = "generated" pvc_size = "100Mi" pvc = true mount_path = "/generated" } config = { name = "config" pvc_size = "100Mi" pvc = true mount_path = "/root/.stash" } } } gluetun = { # enabled = false dns_nameservers = "10.2.0.1" replicas = 01 image = "qmcgaw/gluetun:latest" service_port = [8888] #extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/gluetun/gluetun-secret-netherland.yaml"] secret_import = ["5527ba11-07e3-415b-8d1f-b3ee0154eb56"] security_context = true # requirements = { # limits-cpu = "800Mi" # limits-memory = "800Mi" # requests-cpu = "800Mi" # requests-memory = "800Mi" # } environment = { DNS_ADDRESS = { value_from = { secret_key_ref = { name = "gluetun-secret-netherland" key = "VPN_DNS_IP" } } } WIREGUARD_ENDPOINT_IP = { value_from = { secret_key_ref = { name = "gluetun-secret-netherland" key = "VPN_ENDPOINT_IP" } } } WIREGUARD_ENDPOINT_PORT = { value_from = { secret_key_ref = { name = "gluetun-secret-netherland" key = "VPN_ENDPOINT_PORT" } } } WIREGUARD_PRIVATE_KEY = { value_from = { secret_key_ref = { name = "gluetun-secret-netherland" key = "WIREGUARD_PRIVATE_KEY" } } } WIREGUARD_PUBLIC_KEY = { value_from = { secret_key_ref = { name = "gluetun-secret-netherland" key = "WIREGUARD_PUBLIC_KEY" } } } # SHADOWSOCKS = { HTTPPROXY = { value = "on" } #SHADOWSOCKS_LOG = { HTTPPROXY_LOG = { value = "on" } HTTPPROXY_LISTENING_ADDRESS = { #SHADOWSOCKS_LISTENING_ADDRESS = { value = "0.0.0.0:8888" } # HTTPPROXY_USER = { # value = "user" # } #SHADOWSOCKS_PASSWORD = { # HTTPPROXY_PASSWORD = { # value = "user" #} DNS_KEEP_NAMESERVER = { value = "off" } VPN_SERVICE_PROVIDER = { value = "custom" } VPN_TYPE = { value = "wireguard" } WIREGUARD_ADDRESSES = { value = "10.2.0.2/32" } FIREWALL_INPUT_PORTS = { value = "8081,7878,9696,9091,51413,8080,6881,8989,8191,8888,8000" } PUBLICIP_API = { value = "ip2location" } HEALTH_TARGET_ADDRESS = { value = "protonvpn.com" } } } onitama = { enabled = false namespace = "onitama" domain_name = "onitama" image = "ghcr.io/jackadamson/onitama:latest" service_port = [8080] requirements = { limits-cpu = "50m" limits-memory = "50Mi" requests-cpu = "25m" requests-memory = "25Mi" } environment = { PORT = { value = "80" } } } nginx = { enabled = false namespace = "testnginx" image = "nginx:latest" #pvc_size = "10Mi" # mount_path = "/code" # service_port = 80 # liveness_http_get = 80 # requirements = { # limits-cpu = "200m" # limits-memory = "200Mi" # requests-cpu = "50m" # requests-memory = "50Mi" # } # environment_variables = [{ # "name" : "NGINX_PORT", # "value" : "80" # name = "NGINX-second_PORT" , value = "81" # }] environment_variables = { t1est = "tset", a2nother = "rehtona" } # environment_variables = { t1est = "tset" } # environment_variables = { # name = "NGINX_PORT" , value = "80" # name = "NGINX-second_PORT" , value = "81" # } pvc = { first = { name = "nginx" pvc_size = "1Mi" mount_path = "/code" } } } redis = { enabled = false image = "redis" service_port = [6379] liveness_tcp_socket = 6379 # environment_variables = [{ # "name" : "redis_PORT", # "value" : "6379" # }] } vulcan = { enabled = false image = "localhost:31795/vulcan-frontend:latest" service_port = [80] requirements = { limits-cpu = "50m" limits-memory = "50Mi" requests-cpu = "50m" requests-memory = "50Mi" } } bwdownload = { enabled = false namespace = "backup-bitwarden" image = "alpine" requirements = { limits-cpu = "50m" limits-memory = "50Mi" requests-cpu = "50m" requests-memory = "50Mi" } } gogs = { enabled = false image = "gogs/gogs" requirements = { limits-cpu = "50m" limits-memory = "50Mi" requests-cpu = "50m" requests-memory = "50Mi" } service_port = [3000] pvc_size = "1Gi" mount_path = "/data" } gitea = { enabled = false image = "gitea/gitea:1.22.3" requirements = { limits-cpu = "50m" limits-memory = "50Mi" requests-cpu = "50m" requests-memory = "50Mi" } service_port = [3000] pvc_size = "1Gi" mount_path = "/data" } notmuch = { enabled = false image = "kalbasit/notmuch" service_port = [80] } spider = { #needs to create a secret.key on the pvc enabled = false image = "iredmail/spider:latest" requirements = { limits-cpu = "200m" limits-memory = "500Mi" requests-cpu = "50m" requests-memory = "50Mi" } service_port = [8080] pvc = { spider-data = { pvc = true name = "spider-data" pvc_size = "100Mi" mount_path = "/opt/spider" } } } piler = { enabled = false image = "sutoj/piler:1.4.5" requirements = { limits-cpu = "200m" limits-memory = "500Mi" requests-cpu = "50m" requests-memory = "50Mi" } service_port = [80] } paperless = { #enabled = false #namespace = "paper" #replicas = 0 image = "ghcr.io/paperless-ngx/paperless-ngx:2.18.4" service_port = [8000] domain_name = "paperless2" database = { image = "postgres:15.6" } redis = { image = "redis:7.4.1" } #requirements = { # limits-cpu = "800m" # limits-memory = "800Mi" # requests-cpu = "10m" # requests-memory = "300Mi" #} extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/paperless/Paperless.secret.yaml"] #config_map_ref = ["config"] environment = { POSTGRES_DB = { value_from = { secret_key_ref = { name = "paperless-credentials" key = "POSTGRES_DB" } } } POSTGRES_USER = { value_from = { secret_key_ref = { name = "paperless-credentials" key = "POSTGRES_USER" } } } POSTGRES_PASSWORD = { value_from = { secret_key_ref = { name = "paperless-credentials" key = "POSTGRES_PASSWORD" } } } PAPERLESS_URL = { value = "https://paperless.tryton.geeraert.eu" } PAPERLESS_TIKA_ENABLED = { value = "1" } PAPERLESS_TIKA_GOTENBERG_ENDPOINT = { value = "http://gotenberg-svc.paperless.svc:3000" } PAPERLESS_TIKA_ENDPOINT = { value = "http://tika-svc.paperless.svc:9998" } PAPERLESS_DBHOST = { value_from = { secret_key_ref = { name = "paperless-credentials" key = "POSTGRES_HOST" } } } PAPERLESS_REDIS = { value = "redis://paperless-redis-svc:6379" } PAPERLESS_ADMIN_USER = { value_from = { secret_key_ref = { name = "paperless-credentials" key = "POSTGRES_USER" } } } PAPERLESS_ADMIN_PASSWORD = { value_from = { secret_key_ref = { name = "paperless-credentials" key = "POSTGRES_PASSWORD" } } } # PAPERLESS_ADMIN_USER = { # value = "admin" # } # PAPERLESS_ADMIN_PASSWORD = { # value = "admin" # } PAPERLESS_OCR_USER_ARGS = { value = "{'invalidate_digital_signatures': true}" } } pvc = { paperless-data = { pvc = true name = "paperless-data" pvc_size = "2Mi" mount_path = "/usr/src/paperless/data" } paperless-media = { pvc = true name = "paperless-media" pvc_size = "2Mi" mount_path = "/usr/src/paperless/media" } # export = { # host_path = "/tmp" # name = "export" # pvc_size = "2Mi" # mount_path = "/usr/src/paperless/export" # } consume = { pvc = true name = "consume" pvc_size = "2Mi" mount_path = "/usr/src/paperless/consume" } } } gotenberg = { #enabled = false name = "gotenberg" command = ["gotenberg", "--chromium-disable-javascript=true", "--chromium-allow-list=file:///tmp/.*", "--chromium-auto-start"] connected_namespace = "paperless" image = "gotenberg/gotenberg:8" #image = "gotenberg/gotenberg:7.4.3" service_port = [3000] environment = { CHROMIUM_PAPER_WIDTH = { value = "595" } CHROMIUM_PAPER_HEIGHT = { value = "842" } CHROMIUM_MARGIN_TOP = { value = "7.2" } CHROMIUM_MARGIN_BOTTOM = { value = "7.2" } CHROMIUM_MARGIN_LEFT = { value = "7.2" } CHROMIUM_MARGIN_RIGHT = { value = "7.2" } GOTENBERG_CHROMIUM_STARTUP_TIMEOUT = { value = "60s" } GOTENBERG_BUILD_DEBUG_DATA = { value = "false" } GOTENBERG_CHROMIUM_ARGS = { value = "--no-sandbox,--disable-dev-shm-usage,--no-zygote" } } pvc = { devshm = { host_path = "/tmp" name = "devshm" pvc_size = "2Mi" mount_path = "/dev/shm" } } requirements = { limits-cpu = "1" limits-memory = "1000Mi" requests-cpu = "500m" requests-memory = "512Mi" } } tika = { #enabled = false name = "tika" connected_namespace = "paperless" image = "docker.io/apache/tika:latest" service_port = [9998] requirements = { limits-cpu = "1" limits-memory = "1000Mi" requests-cpu = "500m" requests-memory = "512Mi" } } emailproxy = { enabled = false name = "email-oauth2-proxy" connected_namespace = "paper" dns_nameservers = "1.1.1.1" image = "blacktirion/email-oauth2-proxy-docker" #command = ["python", "emailproxy.py", "--no-gui", "--external-auth", "--debug", "--cache-store", "/config/credstore.config", "--config-file", "/config/emailproxy.config", "--log-file", "/config/emailproxy.log"] #extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/paperless/emailproxyconfig.configmap.yml"] service_port = [80, 1993, 1995] requirements = { limits-cpu = "1" limits-memory = "1000Mi" requests-cpu = "500m" requests-memory = "512Mi" } environment = { LOGFILE = { value = true } DEBUG = { value = true } CACHE_STORE = { value = "/config/credstore.config" } LOCAL_SERVER_AUTH = { value = true } } pvc = { emailproxy-config = { #config_map = true pvc = true name = "emailproxyconfig" pvc_size = "2Mi" #mount_path = "/config/emailproxy.config" mount_path = "/config/" } } } next = { enabled = false namespace = "next" replicas = 01 image = "nextcloud:29.0.3-apache" service_port = [80] extra_manifest = ["/opt/kubernetes/Nextcloud_kube/next.secret.yaml"] database = { image = "docker.io/library/postgres:14" } redis = { image = "docker.io/library/redis:7" } requirements = { limits-cpu = "800Mi" limits-memory = "800Mi" requests-cpu = "800Mi" requests-memory = "800Mi" } environment = { POSTGRES_DB = { value_from = { secret_key_ref = { name = "nextcloud-credentials" key = "POSTGRES_DB" } } } POSTGRES_USER = { value_from = { secret_key_ref = { name = "nextcloud-credentials" key = "POSTGRES_USER" } } } POSTGRES_PASSWORD = { value_from = { secret_key_ref = { name = "nextcloud-credentials" key = "POSTGRES_PASSWORD" } } } POSTGRES_HOST = { value_from = { secret_key_ref = { name = "nextcloud-credentials" key = "POSTGRES_HOST" } } } # REDIS_HOST = { # value = "redis://next-redis-svc:6379" # } TRUSTED_PROXIES = { value = "192.168.88.50 192.168.88.52" } OVERWRITECLIURL = { value = "https://nextcloud.tryton.geeraert.eu" } OVERWRITEPROTOCOL = { value = "https" } NEXTCLOUD_TRUSTED_DOMAINS = { value = "nextcloud.tryton.geeraert.eu 192.168.88.52" } NEXTCLOUD_ADMIN_USER = { value = "admin" } NEXTCLOUD_ADMIN_PASSWORD = { value_from = { secret_key_ref = { name = "nextcloud-credentials" key = "PI_USER_PASSWORD" } } } } pvc = { nextcloud-webserver = { name = "nextcloud-webserver" pvc_size = "2Mi" pvc = true mount_path = "/var/www/html" } } } neko = { enabled = false name = "neko" image = "ghcr.io/m1k1o/neko/firefox:latest" service_port = [8080] environment = { NEKO_WEBRTC_EPR = { value = "56000-56100" } NEKO_WEBRTC_NAT1TO1 = { value = "127.0.0.1" } NEKO_MEMBER_MULTIUSER_USER_PASSWORD = { value = "neko" } NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD = { value = "admin" } } requirements = { limits-cpu = "900m" limits-memory = "600Mi" requests-cpu = "300m" requests-memory = "400Mi" } } homeassistant = { enabled = false image = "ghcr.io/home-assistant/home-assistant:stable" service_port = [8123] environment = { PORT = { value = "80" } } pvc = { homeassistant-config = { pvc = true name = "homeassistant-config" pvc_size = "2Mi" mount_path = "/config" } etc_localtime = { host_path = "/etc/localtime" name = "export" pvc_size = "2Mi" mount_path = "/etc/localtime" } } requirements = { limits-cpu = "900m" limits-memory = "600Mi" requests-cpu = "300m" requests-memory = "400Mi" } } jellyfin = { # enabled = false replicas = 0 image = "jellyfin/jellyfin:latest" service_port = [8096] environment = { JELLYFIN_PublishedServerUrl = { value = "https://jellyfin.tryton.geeraert.eu" } } pvc = { jellyfin-config = { pvc = true name = "jellyfin-config" pvc_size = "2Mi" mount_path = "/config" } jellyfin-cache = { pvc = true name = "jellyfin-cache" pvc_size = "2Mi" mount_path = "/cache" } jellyfin-date = { host_path = "/data" name = "export" pvc_size = "2Mi" mount_path = "/data" } } # requirements = { # limits-cpu = "900m" # limits-memory = "600Mi" # requests-cpu = "300m" # requests-memory = "400Mi" # } } dupeguru = { enabled = false image = "jlesage/dupeguru" service_port = [5800] pvc = { dupeguru-config = { pvc = true name = "dupeguru-config" pvc_size = "2Mi" mount_path = "/config" } dupeguru-storage = { pvc = true name = "dupeguru-storage" pvc_size = "2Mi" mount_path = "/storage" } dupeguru-duplicate = { host_path = "/data" name = "dupeguru-duplicate" pvc_size = "2Mi" mount_path = "/duplicate" } } requirements = { limits-cpu = "900m" limits-memory = "600Mi" requests-cpu = "300m" requests-memory = "400Mi" } } pinchflat = { enabled = false connected_namespace = "screeps" 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" } } jobspy = { enabled = false connected_namespace = "stash" image = "rainmanjam/jobspy-api:latest" service_port = [8000] environment = { ENABLE_API_KEY_AUTH = { value = "true" } API_KEYS = { value = "true" } } requirements = { limits-cpu = "900m" limits-memory = "600Mi" requests-cpu = "300m" requests-memory = "400Mi" } } prowlarr = { # enabled = false image = "linuxserver/prowlarr:latest" namespace = "servarr" #replicas = 0 # dns_nameservers = "10.2.0.1" service_port = [9696] extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/servarr/servarr-db.secret.yaml"] database = { "image" = "docker.io/library/postgres:17.5" name = "prowlarr-main" username = "servarr_username" } environment = { PUID = { value = "1000" } PGID = { value = "1000" } TZ = { value = "Etc/UTC" } POSTGRES_DB = { value_from = { secret_key_ref = { name = "servarr-db-credentials" key = "DB_DATABASE" } } } POSTGRES_USER = { value_from = { secret_key_ref = { name = "servarr-db-credentials" key = "DB_USER" } } } POSTGRES_PASSWORD = { value_from = { secret_key_ref = { name = "servarr-db-credentials" key = "DB_PASS" } } } } 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" #replicas = 0 service_port = [7878] environment = { PUID = { value = "1000" } PGID = { value = "1000" } TZ = { value = "Etc/UTC" } } # requirements = { # limits-cpu = "1000m" # limits-memory = "1Gi" # requests-cpu = "500m" # requests-memory = "400Mi" # } pvc = { radarr-config = { name = "radarr-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" } } } sonarr = { #enabled = false image = "lscr.io/linuxserver/sonarr:latest" connected_namespace = "servarr" #replicas = 0 service_port = [8989] environment = { PUID = { value = "1000" } PGID = { value = "1000" } TZ = { value = "Etc/UTC" } } # requirements = { # limits-cpu = "1000m" # limits-memory = "1Gi" # requests-cpu = "500m" # requests-memory = "400Mi" # } pvc = { sonarr-config = { name = "sonarr-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" } } } recommendarr = { enabled = false image = "tannermiddleton/recommendarr:latest" connected_namespace = "servarr" #replicas = 0 service_port = [3000] environment = { PUID = { value = "1000" } PGID = { value = "1000" } TZ = { value = "Etc/UTC" } } # requirements = { # limits-cpu = "1000m" # limits-memory = "1Gi" # requests-cpu = "500m" # requests-memory = "400Mi" # } pvc = { recommendarr-config = { name = "recommendarr-config" pvc_size = "10Mi" pvc = true mount_path = "/app/server/data" } } } qbittorrent = { #enabled = false image = "lscr.io/linuxserver/qbittorrent:latest" connected_namespace = "servarr" service_port = [8080] environment = { PUID = { value = "1000" } PGID = { value = "1000" } TZ = { value = "Etc/UTC" } WEBUI_PORT = { value = "8080" } } requirements = { limits-cpu = "200m" limits-memory = "250Mi" requests-cpu = "100m" requests-memory = "100Mi" } pvc = { qbittorrent-config = { name = "qbittorrent-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" } } } flaresolverr = { #image = "ghcr.io/flaresolverr/flaresolverr:latest" image = "alexfozor/flaresolverr:pr-1300-experimental" connected_namespace = "servarr" #enabled = false image = "ghcr.io/flaresolverr/flaresolverr:latest" service_port = [8191] environment = { PUID = { value = "1000" } PGID = { value = "1000" } TZ = { value = "Etc/UTC" } CAPTCHA_SOLVER = { value = "hcaptcha-solver" } } # requirements = { # limits-cpu = "1000m" # limits-memory = "1Gi" # requests-cpu = "500m" # requests-memory = "400Mi" # } } poste = { enabled = false image = "analogic/poste.io:latest" service_port = [25, 80, 110, 143, 443, 465, 587, 993, 995, 4190] environment = { PUID = { value = "1000" } PGID = { value = "1000" } TZ = { value = "Etc/UTC" } } # requirements = { # limits-cpu = "1000m" # limits-memory = "1Gi" # requests-cpu = "500m" # requests-memory = "400Mi" # } pvc = { poste-data = { name = "poste-data" pvc_size = "10Mi" pvc = true mount_path = "/data" } } } wikijs = { #enabled = false image = "ghcr.io/requarks/wiki:2.5" service_port = [3000] #domain_name = "wikijs" extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/wikijs/wikijs-db.secret.yaml"] database = { image = "postgres:17" } environment = { PUID = { value = "1000" } PGID = { value = "1000" } TZ = { value = "Etc/UTC" } DB_TYPE = { value = "postgres" } DB_PORT = { value = "5432" } POSTGRES_DB = { value_from = { secret_key_ref = { name = "wikijs-db-credentials" key = "DB_DATABASE" } } } POSTGRES_USER = { value_from = { secret_key_ref = { name = "wikijs-db-credentials" key = "DB_USER" } } } POSTGRES_PASSWORD = { value_from = { secret_key_ref = { name = "wikijs-db-credentials" key = "DB_PASS" } } } DB_NAME = { value_from = { secret_key_ref = { name = "wikijs-db-credentials" key = "DB_DATABASE" } } } DB_USER = { value_from = { secret_key_ref = { name = "wikijs-db-credentials" key = "DB_USER" } } } DB_PASS = { value_from = { secret_key_ref = { name = "wikijs-db-credentials" key = "DB_PASS" } } } DB_HOST = { value_from = { secret_key_ref = { name = "wikijs-db-credentials" key = "DB_HOST" } } } } } immich = { #enabled = false #replicas = 0 connected_namespace = "immich" image = "ghcr.io/immich-app/immich-server:v2.5.6" service_port = [2283] database = { image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0" } redis = { image = "docker.io/bitnami/redis:7.2.5-debian-12-r0" } requirements = { limits-cpu = "800m" limits-memory = "2Gi" requests-cpu = "10m" requests-memory = "300Mi" } extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/immich/immich-db.secret.yaml"] environment = { DB_DATABASE_NAME = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_DATABASE_NAME" } } } DB_USERNAME = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_USERNAME" } } } DB_PASSWORD = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_PASSWORD" } } } POSTGRES_DATABASE = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_DATABASE_NAME" } } } POSTGRES_USER = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_USERNAME" } } } POSTGRES_PASSWORD = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_PASSWORD" } } } POSTGRES_POSTGRES_PASSWORD = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_PASSWORD" } } } DB_HOSTNAME = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_HOST" } } } IMMICH_MACHINE_LEARNING_URL = { value = "http://machinelearning-svc:3003" } REDIS_HOSTNAME = { value = "immich-redis-svc" } UPLOAD_LOCATION = { value = "/tmp" } POSTGRESQL_ENABLE_LDAP = { value = "no" } POSTGRESQL_ENABLE_TLS = { value = "no" } POSTGRESQL_LOG_HOSTNAME = { value = "false" } POSTGRESQL_LOG_CONNECTIONS = { value = "false" } POSTGRESQL_LOG_DISCONNECTIONS = { value = "false" } POSTGRESQL_PGAUDIT_LOG_CATALOG = { value = "off" } POSTGRESQL_CLIENT_MIN_MESSAGES = { value = "error" } POSTGRESQL_SHARED_PRELOAD_LIBRARIES = { value = "pgaudit" } POSTGRES_INITDB_ARGS = { value = "--data-checksums" } BITNAMI_DEBUG = { value = "false" } REDIS_REPLICATION_MODE = { value = "master" } ALLOW_EMPTY_PASSWORD = { value = "yes" } REDIS_TLS_ENABLED = { value = "no" } REDIS_PORT = { value = "6379" } } pvc = { immich-data = { name = "immich-data" pvc_size = "10Mi" pvc = false host_path = "/ssd/Image/immich/immich-storage-fastaccess" mount_path = "/usr/src/app/upload" } stash-data = { name = "stash-data" pvc_size = "10Mi" pvc = false host_path = "/ssd/stash/data-pvc" mount_path = "/stash/" } } } machinelearning = { #enabled = false #replicas = 0 connected_namespace = "immich" image = "ghcr.io/immich-app/immich-machine-learning:v2.5.6" service_port = [3003] environment = { DB_DATABASE_NAME = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_DATABASE_NAME" } } } DB_USERNAME = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_USERNAME" } } } DB_PASSWORD = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_PASSWORD" } } } DB_HOSTNAME = { value_from = { secret_key_ref = { name = "immich-db-credentials" key = "DB_HOST" } } } IMMICH_MACHINE_LEARNING_URL = { value = "http://machinelearning-svc:3003" } REDIS_HOSTNAME = { value = "immich-redis-svc" } TRANSFORMERS_CACHE = { value = "/cache" } } } django = { #enabled =false namespace = "django" image = "gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest" service_port = [8000] database = { image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0" username = "django_username" } redis = {} requirements = { limits-cpu = "800m" limits-memory = "800Mi" requests-cpu = "10m" requests-memory = "300Mi" } extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/django/kubeconfig.secret.yaml", "/opt/kubernetes/Terraform_kube/external_manifests/django/django-db.secret.yaml"] environment = { #HTTP_PROXY = { #value = "http://gluetun-svc.gluetun.svc:8888" } DB_PASSWORD = { value_from = { secret_key_ref = { name = "django-db-credentials" key = "DB_PASSWORD" } } } POSTGRES_DB = { value_from = { secret_key_ref = { name = "django-db-credentials" key = "DB_DATABASE_NAME" } } } POSTGRES_USER = { value_from = { secret_key_ref = { name = "django-db-credentials" key = "DB_USERNAME" } } } POSTGRES_PASSWORD = { value_from = { secret_key_ref = { name = "django-db-credentials" key = "DB_PASSWORD" } } } DB_HOSTNAME = { value_from = { secret_key_ref = { name = "django-db-credentials" key = "DB_HOST" } } } } pvc = { kubeconfig-secret = { secret = true name = "kubeconfig" mount_path = "/kubeconfig" } stash-django-pvc = { host_path = "/ssd/stash/data-pvc/" name = "stash-django-pvc" pvc_size = "2Mi" mount_path = "/stash" } } } celery-worker = { #enabled = false connected_namespace = "django" image = "gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest" command = ["celery", "--workdir=django_code/", "-A", "django_code", "worker"] pvc = { #kubeconfig-secret = { # secret = true # name = "kubeconfig" # mount_path = "/kubeconfig" #} stash-django-pvc = { host_path = "/ssd/stash/data-pvc/" name = "stash-django-pvc" pvc_size = "2Mi" mount_path = "/stash" } } environment = { CELERY_BROKER_URL = { value = "redis://django-redis-svc:6379" } CELERY_IMPORTS = { value = "stash_management.apps" } } HTTP_PROXY = { value = "http://gluetun-svc.gluetun.svc:8888" } PYTHONPATH = { value = "/code/django_code/" } } 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 = false image = "ealen/echo-server:latest" service_port = [80] # command = ["-text=Hello authenticated world!"] pvc = { echo-config = { name = "echo-config" pvc_size = "10Mi" pvc = true mount_path = "/app/configs" } } } echo2 = { enabled = false connected_namespace = "echo" image = "ealen/echo-server:latest" service_port = [80] # command = ["-text=Hello authenticated world!"] pvc = { echo-config = { name = "echo-config" pvc_size = "10Mi" pvc = true mount_path = "/app/configs" existing_pvc = true } } } 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" #value = "*.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" } } } tdarr = { #enabled = false image = "ghcr.io/haveagitgat/tdarr" connected_namespace = "servarr" service_port = [8265, 8266] pvc = { tdarr-config = { name = "tdarr-config" pvc_size = "10Mi" pvc = true mount_path = "/app/configs" } tdarr-server = { name = "tdarr-server" pvc_size = "10Mi" pvc = true mount_path = "/app/server" } tdarr-log = { name = "tdarr-log" pvc_size = "10Mi" pvc = true mount_path = "/app/logs" } servarr-data = { name = "servarr-data" pvc_size = "10Mi" pvc = false host_path = "/data" mount_path = "/media" } stash-data = { name = "stash-data" pvc_size = "10Mi" pvc = false host_path = "/ssd/stash/data-pvc/" mount_path = "/stash" } tdarr-dri = { name = "tdarr-dri" pvc_size = "10Mi" pvc = false host_path = "/dev/dri" mount_path = "/dev/dri" } tdarr-transcode-cache = { name = "tdarr-transcode-cache" pvc_size = "10Mi" pvc = true mount_path = "/transcode-cache" } } environment = { serverIP = { value = "0.0.0.0" } serverPort = { value = "8266" } webUIPort = { value = "8265" } internalNode = { value = "true" } inContainer = { value = "true" } ffmpegVersion = { value = "7" } nodeName = { value = "MyInternalNode" } auth = { value = "false" } openBrowser = { value = "true" } maxLogSizeMB = { value = "10" } cronPluginUpdate = { value = "" } TZ = { value = "Europe/London" } PUID = { value = "1000" } PGID = { value = "1000" } NVIDIA_DRIVER_CAPABILITIES = { value = "all" } NVIDIA_VISIBLE_DEVICES = { value = "all" } } } tdarr-node = { enabled = false image = "ghcr.io/haveagitgat/tdarr_node" connected_namespace = "servarr" replicas = 2 service_port = [8268] pvc = { tdarrnode-config = { name = "tdarrnode-config" pvc_size = "10Mi" pvc = false host_path = "/data/kubernetes/servarr/tdarr-config-pvc" mount_path = "/app/configs" } tdarrnode-log = { name = "tdarrnode-log" pvc_size = "10Mi" pvc = true mount_path = "/app/logs" } servarr-data = { name = "servarr-data" pvc_size = "10Mi" pvc = false host_path = "/data" mount_path = "/media" } tdarrnode-dri = { name = "tdarrnode-dri" pvc_size = "10Mi" pvc = false host_path = "/dev/dri" mount_path = "/dev/dri" } tdarrnode-transcode-cache = { name = "tdarrnode-transcode-cache" pvc_size = "10Mi" pvc = false host_path = "/data/kubernetes/servarr/tdarr-transcode-cache-pvc" mount_path = "/transcode-cache" } } environment = { serverIP = { value = "tdarr-svc" } serverPort = { value = "8266" } nodeType = { value = "mapped" } priority = { value = "-1" } inContainer = { value = "true" } ffmpegVersion = { value = "7" } # nodeName = { # value = "MyExternalNode" # } maxLogSizeMB = { value = "10" } cronPluginUpdate = { value = "" } TZ = { value = "Europe/London" } apikey = { value = "" } pollInterval = { value = "2000" } PUID = { value = "1000" } PGID = { value = "1000" } NVIDIA_DRIVER_CAPABILITIES = { value = "all" } NVIDIA_VISIBLE_DEVICES = { value = "all" } startPaused = { value = "false" } transcodegpuWorkers = { value = "0" } transcodecpuWorkers = { value = "2" } healthcheckgpuWorkers = { value = "0" } healthcheckcpuWorkers = { value = "1" } } } tdarr-node2 = { enabled = false image = "ghcr.io/haveagitgat/tdarr_node" connected_namespace = "servarr" replicas = 1 service_port = [8268] pvc = { tdarrnode2-config = { name = "tdarrnode2-config" pvc_size = "10Mi" pvc = false host_path = "/data/kubernetes/servarr/tdarr-config-pvc" mount_path = "/app/configs" } tdarrnode2-log = { name = "tdarrnode2-log" pvc_size = "10Mi" pvc = true mount_path = "/app/logs" } nfs-data = { name = "nfs-data" pvc_size = "10Mi" pvc = false host_path = "/mnt/serie" mount_path = "/mnt/serie" } tdarrnode2-dri = { name = "tdarrnode2-dri" pvc_size = "10Mi" pvc = false host_path = "/dev/dri" mount_path = "/dev/dri" } tdarrnode2-transcode-cache = { name = "tdarrnode2-transcode-cache" pvc_size = "10Mi" pvc = false host_path = "/mnt/cache" mount_path = "/mnt/cache" } } environment = { serverIP = { #value = "tdarr-svc" value = "192.168.88.34" } serverPort = { value = "8266" } nodeType = { value = "mapped" } priority = { value = "-1" } inContainer = { value = "true" } ffmpegVersion = { value = "7" } #nodeName = { # value = "MyExternalNode2" #} maxLogSizeMB = { value = "10" } pathTranslators = { value = "W3sic2VydmVyIjoiWjoiLCJub2RlIjoiL21udC9zZXJpZSJ9LHsic2VydmVyIjogIlk6Iiwibm9kZSI6ICIvbW50L2NhY2hlL3RkYXJyLWNhY2hlIn1dCg==" } cronPluginUpdate = { value = "" } TZ = { value = "Europe/London" } apikey = { value = "" } pollInterval = { value = "2000" } PUID = { value = "1000" } PGID = { value = "1000" } NVIDIA_DRIVER_CAPABILITIES = { value = "all" } NVIDIA_VISIBLE_DEVICES = { value = "all" } startPaused = { value = "false" } transcodegpuWorkers = { value = "0" } transcodecpuWorkers = { value = "2" } healthcheckgpuWorkers = { value = "0" } healthcheckcpuWorkers = { value = "1" } } } bitwarden-admin = { #enabled = false namespace = "bitwarden" replicas = 1 name = "bitwarden-admin" image = "ghcr.io/bitwarden/admin:2026.1.0" extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/config.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/global.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/global.override.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/mssql.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/mssql.override.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/uid.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/bitwarden-identity-cert-password.secret.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/identity-svc.svc.yaml"] service_port = [5000] config_map_ref = ["global.env", "uid.env", "global.override.env"] environment = {} pvc = { bitwarden-ca-certificates = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/ca-certificates" name = "bitwarden-ca-certificates" } bitwarden-core = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/core" name = "bitwarden-core" } bitwarden-logs = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/logs" name = "bitwarden-logs" sub_path = "admin" } } } bitwarden-api = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-api" image = "gitea.tryton.geeraert.eu/pi-ux-ce/bitbetter_api:2026.1.0" service_port = [5000] config_map_ref = ["global.env", "uid.env", "global.override.env"] environment = {} pvc = { bitwarden-ca-certificates = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/ca-certificates" name = "bitwarden-ca-certificates" } bitwarden-core = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/core" name = "bitwarden-core" } bitwarden-logs = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/logs" name = "bitwarden-logs" sub_path = "api" } } } bitwarden-attachments = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-attachments" image = "ghcr.io/bitwarden/attachments:2026.1.0" service_port = [5000] config_map_ref = ["global.env", "uid.env"] environment = {} pvc = { bitwarden-core = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/core/attachments" name = "bitwarden-core" sub_path = "attachments" } } } bitwarden-events = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-events" image = "ghcr.io/bitwarden/events:2026.1.0" service_port = [5000] config_map_ref = ["global.env", "uid.env", "global.override.env"] environment = {} pvc = { bitwarden-ca-certificates = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/ca-certificates" name = "bitwarden-ca-certificates" } bitwarden-logs = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/logs" name = "bitwarden-logs" sub_path = "events" } } } bitwarden-icons = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-icons" image = "ghcr.io/bitwarden/icons:2026.1.0" service_port = [5000] config_map_ref = ["global.env", "uid.env"] environment = {} pvc = { bitwarden-ca-certificates = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/ca-certificates" name = "bitwarden-ca-certificates" } bitwarden-logs = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/logs" name = "bitwarden-logs" sub_path = "icons" } } } bitwarden-identity = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-identity" image = "gitea.tryton.geeraert.eu/pi-ux-ce/bitbetter_identity:2026.1.0" service_port = [5000] config_map_ref = ["global.env", "uid.env", "global.override.env"] environment = {} pvc = { bitwarden-identity = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/identity" name = "bitwarden-identity" } bitwarden-ca-certificates = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/ca-certificates" name = "bitwarden-ca-certificates" } bitwarden-core = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/core" name = "bitwarden-core" } bitwarden-logs = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/logs" name = "bitwarden-logs" sub_path = "identity" } } } bitwarden-mssql = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-mssql" image = "ghcr.io/bitwarden/mssql:2026.1.0" service_port = [1433, 5000] config_map_ref = ["mssql.env", "uid.env", "mssql.override.env"] environment = {} pvc = { bitwarden-mssql = { pvc = true pvc_size = "2Mi" mount_path = "/var/opt/mssql/data" name = "bitwarden-mssql" sub_path = "data" } bitwarden-logs = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/logs" name = "bitwarden-logs" sub_path = "mssql" } } } bitwarden-nginx = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-nginx" image = "ghcr.io/bitwarden/nginx:2026.1.0" service_port = [5000, 8080, 8443] config_map_ref = ["uid.env"] environment = {} pvc = { bitwarden-nginx = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/nginx" name = "bitwarden-nginx" } bitwarden-letsencrypt = { pvc = true pvc_size = "2Mi" mount_path = "/etc/letsencrypt" name = "bitwarden-letsencrypt" } bitwarden-ssl = { pvc = true pvc_size = "2Mi" mount_path = "/etc/ssl" name = "bitwarden-ssl" } bitwarden-logs = { pvc = true pvc_size = "2Mi" mount_path = "/var/log/nginx" name = "bitwarden-logs" sub_path = "nginx" } } } bitwarden-notifications = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-notifications" image = "ghcr.io/bitwarden/notifications:2026.1.0" service_port = [5000] config_map_ref = ["global.env", "uid.env", "global.override.env"] environment = {} pvc = { bitwarden-ca-certificates = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/ca-certificates" name = "bitwarden-ca-certificates" } bitwarden-logs = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/logs" name = "bitwarden-logs" sub_path = "notifications" } } } bitwarden-sso = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-sso" image = "ghcr.io/bitwarden/sso:2026.1.0" service_port = [5000] config_map_ref = ["global.env", "uid.env", "global.override.env"] environment = {} pvc = { bitwarden-identity = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/identity" name = "bitwarden-identity" } bitwarden-core = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/core" name = "bitwarden-core" } bitwarden-ca-certificates = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/ca-certificates" name = "bitwarden-ca-certificates" } bitwarden-logs = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/logs" name = "bitwarden-logs" sub_path = "sso" } } } bitwarden-web = { #enabled = false connected_namespace = "bitwarden" replicas = 1 name = "bitwarden-web" image = "ghcr.io/bitwarden/web:2026.1.0" service_port = [5000] config_map_ref = ["global.env", "uid.env"] environment = {} pvc = { bitwarden-web = { pvc = true pvc_size = "2Mi" mount_path = "/etc/bitwarden/web" name = "bitwarden-web" } } } sharelatex = { enabled = false image = "sharelatex/sharelatex" replicas = 1 service_port = [8268] database = { "image" = "mongo:4.0" "port" = 27017 "mountPath" = "/data/db" "command" = "--replSet overleaf" } redis = { image = "redis:5.0" } } fail2ban = { # enabled = false #image = "lscr.io/linuxserver/fail2ban:latest" image = "gitea.tryton.geeraert.eu/pi-ux-ce/fail2ban:latest" extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/fail2ban/fail2ban.RoleBinding.yaml", "/opt/kubernetes/Terraform_kube/external_manifests/fail2ban/fail2ban.Role.yaml", "/opt/kubernetes/Terraform_kube/external_manifests/fail2ban/fail2ban.ServiceAccount.yaml"] service_account_name = "kubectl-service-account" config_map_import = ["9d8ef71a-de74-478b-aa86-b3ee0160dc43", "50814edb-d190-41cb-8950-b3ee01622dcf", "fb11452e-fec1-489f-9144-b3ee0162ccda"] environment = { PUID = { value = "1000" } PGID = { value = "1000" } TZ = { value = "Etc/UTC" } VERBOSITY = { value = "-vv" } } security_context = true pvc = { fail2ban-config = { pvc = true pvc_size = "2Mi" mount_path = "/config" name = "fail2ban-config" } fail2ban-log = { pvc = true pvc_size = "2Mi" mount_path = "/var/log" name = "fail2ban-log" } nginx-fail2ban-logs = { host_path = "/data/kubernetes/reverse-proxy/reverse-proxy-log/" name = "nginx-fail2ban-logs" pvc_size = "2Mi" mount_path = "/remotelogs/nginx/" } fail2ban-nginx-http-auth-jail = { config_map = true name = "fail2ban-nginx-http-auth-jail" pvc_size = "2Mi" mount_path = "/config/fail2ban/jail.d/" } fail2ban-nginx-unauthorized-filter = { config_map = true name = "fail2ban-nginx-unauthorized-filter" pvc_size = "2Mi" mount_path = "/config/fail2ban/filter.d/" } } } }