From 40aa901a50c4357e316c6fc61b29067af2ac4583 Mon Sep 17 00:00:00 2001 From: "pierre.geeraert" Date: Tue, 13 Oct 2026 18:58:38 +0100 Subject: [PATCH] fix django secret missing --- applications/variables.auto.tfvars.save | 1574 ------------ applications/variables.auto.tfvars.save.1 | 2669 --------------------- infrastructure/storage.tf | 0 infrastructure/variables.auto.tfvars | 3 +- 4 files changed, 1 insertion(+), 4245 deletions(-) delete mode 100644 applications/variables.auto.tfvars.save delete mode 100644 applications/variables.auto.tfvars.save.1 delete mode 100644 infrastructure/storage.tf diff --git a/applications/variables.auto.tfvars.save b/applications/variables.auto.tfvars.save deleted file mode 100644 index af78f11..0000000 --- a/applications/variables.auto.tfvars.save +++ /dev/null @@ -1,1574 +0,0 @@ -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 = { - "image" = "lscr.io/linuxserver/mariadb" - "port" = 3306 - "mountPath" = "/config" - } - # 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 = "docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest" - service_port = [8080] - - environment = { - LANGS = { - value = "en_GB" - } - } - 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" - 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"] - 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" - 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] - } - - - paper = { - enabled = false - namespace = "paper" - image = "ghcr.io/paperless-ngx/paperless-ngx:latest" - service_port = [8000] - database = { - image = "docker.io/library/postgres:15" } - redis = { - image = "docker.io/library/redis:7" } - 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://paper.tryton.geeraert.eu" - } - PAPERLESS_TIKA_ENABLED = { - value = "0" - } - PAPERLESS_TIKA_GOTENBERG_ENDPOINT = { - value = "http://gotenberg-svc.paper.svc:3000" - } - PAPERLESS_TIKA_ENDPOINT = { - value = "http://tika-svc.paper.svc:9998" - } - - - PAPERLESS_DBHOST = { - value_from = { - secret_key_ref = { - name = "paperless-credentials" - key = "POSTGRES_HOST" - } - } - } - - PAPERLESS_REDIS = { - value = "redis://paper-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" - } - # 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" - connected_namespace = "paper" - image = "gotenberg/gotenberg:7.9.2" - service_port = [3000] - - requirements = { - limits-cpu = "100m" - limits-memory = "300Mi" - requests-cpu = "50m" - requests-memory = "150Mi" - } - - - } - tika = { - enabled = false - name = "tika" - connected_namespace = "paper" - image = "ghcr.io/paperless-ngx/tika" - service_port = [9998] - - requirements = { - limits-cpu = "100m" - limits-memory = "300Mi" - requests-cpu = "50m" - requests-memory = "150Mi" - } - - - } - - - - - - 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" - } - - 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] - extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/wikijs/wikijs-db.secret.yaml"] - database = {} - 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" - } - } - } - - - } - - - } - - immicht = { - enabled = false - #replicas = 0 - namespace = "immicht" - image = "ghcr.io/immich-app/immich-server:v1.134.0" - service_port = [2283] - database = { - #image = "ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1" - 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 = "800Mi" - 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 = "immicht-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 = { - pvc = true - name = "immich-data" - pvc_size = "2Mi" - mount_path = "/usr/src/app/upload" - } - - } - } - machinelearning = { - enabled = false - #replicas = 0 - connected_namespace = "immicht" - image = "ghcr.io/immich-app/immich-machine-learning:v1.134.0" - 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 = "immicht-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" - } - - 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 = { - - 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" - } - - } - } - - 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" - } - - } - -your-app: - image: hashicorp/http-echo - command: ["-text=Hello, authenticated world!"] - ports: - - "3000" - -} diff --git a/applications/variables.auto.tfvars.save.1 b/applications/variables.auto.tfvars.save.1 deleted file mode 100644 index 7355ac8..0000000 --- a/applications/variables.auto.tfvars.save.1 +++ /dev/null @@ -1,2669 +0,0 @@ - -kubernetes = { - bookstack = { - #enabled = false - replicas = 01 - 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" - } - config_map_ref = ["config"] - secret_ref = ["bookstack-credentials"] - config_map_import = ["bb9a8965-994a-4fea-9411-b4020182fa78"] - secret_import = ["d1c2b8c9-71a0-4e47-9d9d-b402018376b6"] - - 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" - } - } - - } - - minecraft = { - enabled = false - image = "itzg/minecraft-server" - service_port = [25565] - service_type = "LoadBalancer" - - environment = { - EULA = { - value = "TRUE" - } - ONLINE_MODE = { - value = "FALSE" - } - VERSION = { - value = "1.21.8" - } - } - - - #requirements = { - # limits-cpu = "1000m" - # limits-memory = "1Gi" - # requests-cpu = "500m" - # requests-memory = "400Mi" - #} - pvc = { - minecraft-volume = { - name = "minecraft" - pvc_size = "1Gi" - pvc = true - mount_path = "/data" - } - } - - } - - - 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 = "1.1.1.1" - replicas = 01 - image = "qmcgaw/gluetun:latest" - service_port = [8888] - #extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/gluetun/gluetun-secret-netherlandNL-FREE-280.yaml"] - secret_import = ["5527ba11-07e3-415b-8d1f-b3ee0154eb56", "b0d22160-d81a-4702-a3dd-b40e0168d617", "643dbe99-ace0-4ef5-8a2e-b44f014dccb0"] - security_context = true - # requirements = { - # limits-cpu = "800Mi" - # limits-memory = "800Mi" - # requests-cpu = "800Mi" - # requests-memory = "800Mi" - # } - environment = { - WIREGUARD_PRIVATE_KEY = { - value_from = { - secret_key_ref = { - name = "gluetun-secret-nl-free-280" - key = "WIREGUARD_PRIVATE_KEY" - } - } - } - HTTPPROXY = { - value = "on" - } - HTTPPROXY_LOG = { - value = "on" - } - HTTPPROXY_LISTENING_ADDRESS = { - value = "0.0.0.0:8888" - } - # DNS_KEEP_NAMESERVER = { - # value = "on" - # } - VPN_SERVICE_PROVIDER = { - value = "protonvpn" - } - VPN_TYPE = { - value = "wireguard" - } - SERVER_COUNTRIES = { - value = "Netherlands" - } - HEALTH_TARGET_ADDRESS = { - value = "0.0.0.0:8888" - } - - FREE_ONLY = { - value = "on" - } - - # 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:80" - # } - # FIREWALL_OUTBOUND_SUBNETS = { - # value = "10.0.0.0/24" } - - } - - } - - - - 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" - mountPath = "/var/lib/postgresql/data" - } - 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" - mountPath = "/var/lib/postgresql/data" - } - - 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" - name = "wiki" - username = "wikijs_username" - mountPath = "/var/lib/postgresql/data" - } - - 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" - mountPath = "/var/lib/postgresql/data" - } - - 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" - mountPath = "/var/lib/postgresql/data" - } - redis = {} - secret_ref = ["django-bitwarden-credentials"] - secret_import = ["9fc5a725-75f5-4bab-b595-b474017146c3"] - 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 = { - ALLOWED_HOSTS = { - value = "django.tryton.geeraert.eu,redirect.tryton.geeraert.eu" - } - DEBUG = { - value = "False" - } - #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", "core", "worker"] - secret_ref = ["django-bitwarden-credentials"] - 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/" } - } - - django-testing = { - #enabled =false - image = "gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:latest" - service_port = [8000] - database = {} - requirements = { - limits-cpu = "800m" - limits-memory = "800Mi" - requests-cpu = "10m" - requests-memory = "300Mi" - } - extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/django/kubeconfig-testing.secret.yaml"] - secret_ref = ["django-bitwarden-credentials"] - secret_import = ["68dce7aa-8e5f-4483-9083-b474016e34fc"] - environment = { - ALLOWED_HOSTS = { - value = "django-testing.tryton.geeraert.eu,redirect.tryton.geeraert.eu,redirect-testing.tryton.geeraert.eu,job-testing.tryton.geeraert.eu" - } - DEBUG = { - value = "true" - } - DB_PORT = { - value = 5432 - } - CUSTOM_DB_DATABASE = { - value = "cloudmanager" } - } - pvc = { - kubeconfig-secret = { - secret = true - 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 = 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 = {} - database = { - shunt = "true" - engine = "sqlserver" - username = "sa" - host = "bitwarden-mssql-svc" - name = "bitwarden_vault" - } - - 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" - } - } - } - overleaf = { - enabled = false - #image = "sharelatex/sharelatex:6.1.2" - image = "tuetenk0pp/sharelatex-full:latest" - replicas = 1 - environment = { - MONGO_URL = { - value = "mongodb://overleaf-db-svc:27017/overleaf" - } - REDIS_URL = { - value = "redis://overleaf-redis-svc:6379" - } - OVERLEAF_MONGO_URL = { - value = "mongodb://overleaf-db-svc:27017/overleaf" - } - OVERLEAF_REDIS_HOST = { - value = "overleaf-redis-svc" - } - REDIS_HOST = { - value = "overleaf-redis-svc" - } - REDIS_PORT = { - value = "6379" - } - - TZ = { - value = "Etc/UTC" - } - - VERBOSITY = { - value = "-vv" } - } - service_port = [80] - database = { - "image" = "mongo:8.0" - "port" = 27017 - "mountPath" = "/data/db" - #initialise the replicaset of the mongo DB - #kubectl exec -it -- mongosh - #cfg = rs.conf() - #cfg.members[0].host = "mongodb:27017" // ← your K8s Service name + port - #rs.reconfig(cfg, { force: true }) - #rs.status() - #// members[0].name should now show "mongodb:27017" - } - database_args = ["--replSet", "overleaf"] - redis = { - image = "redis:7.4" } - pvc = { - overleaf-data = { - pvc = true - pvc_size = "2Mi" - mount_path = "/var/lib/overleaf" - name = "overleaf-data" - } - overleaf-package = { - pvc = true - pvc_size = "2Mi" - mount_path = "/usr/local/texlive/" - name = "overleaf-package" - } - } - } - - - 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/" - } - - - } - } - - - nextcloudt = { - enabled = false - replicas = 1 - image = "nextcloud:29.0.3-apache" - service_port = [80] - domain_name = "nextcloudnew" - database = { - image = "docker.io/library/postgres:14" } - - pvc = { - nextcloud-webserver = { - name = "nextcloud-webserver" - pvc = true - pvc_size = "2Gi" - mount_path = "/var/www/html" - } - } - } - reactive = { - #disabled because it needs AI to import a pdf and AI integration is not working - enabled = false - replicas = 01 - domain_name = "reactive" - image = "ghcr.io/amruthpillai/reactive-resume:latest" - service_port = [3000] - environment = { - AUTH_SECRET = { - value = "change-me-to-a-secure-secret-key-in-production" - } - PRINTER_ENDPOINT = { - value = "ws://browserless:3000?token=change-me" - } - APP_URL = { - value = "https://reactive.tryton.geeraert.eu" - } - AI_ALLOWED_BASE_URLS = { - value = "api.openai.com,https://gateway.ai.vercel.com" - } - } - database = {} - pvc = { - reactive-resume-data = { - name = "reactive-resume-data" - pvc = true - pvc_size = "2Gi" - mount_path = "/app/data" - } - } - } - -} diff --git a/infrastructure/storage.tf b/infrastructure/storage.tf deleted file mode 100644 index e69de29..0000000 diff --git a/infrastructure/variables.auto.tfvars b/infrastructure/variables.auto.tfvars index 9cb0679..a2e7e62 100644 --- a/infrastructure/variables.auto.tfvars +++ b/infrastructure/variables.auto.tfvars @@ -69,7 +69,7 @@ kubernetes = { mountPath = "/var/lib/postgresql/data" } secret_ref = ["django-bitwarden-credentials"] - #secret_import = ["9fc5a725-75f5-4bab-b595-b474017146c3"] + secret_import = ["9fc5a725-75f5-4bab-b595-b474017146c3"] requirements = { limits-cpu = "800m" limits-memory = "800Mi" @@ -137,7 +137,6 @@ kubernetes = { pvc = { kubeconfig-secret = { secret = true - name = "kubeconfig" mount_path = "/kubeconfig" }