kubernetes = { gluetun = { #enabled = false dns_nameservers = "1.1.1.1" replicas = 01 image = "qmcgaw/gluetun:latest" exposed = false service_port = [8888] secret_import = ["5527ba11-07e3-415b-8d1f-b3ee0154eb56", "b0d22160-d81a-4702-a3dd-b40e0168d617", "643dbe99-ace0-4ef5-8a2e-b44f014dccb0"] security_context = true 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" } 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" } FIREWALL_INPUT_PORTS = { value = "8081,7878,9696,9091,51413,8080,6881,8989,8191,8888,8000" } PUBLICIP_API = { value = "ip2location" } } } django = { #enabled = false namespace = "django" domain_name = ["django", "admin", "redirect", "streaming", "stash", "simpsons", "kubernetes", "cloudmanager", "podcast"] 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" } 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.geeraert.eu,admin.geeraert.eu,redirect.geeraert.eu,streaming.geeraert.eu,stash.geeraert.eu,simpsons.geeraert.eu,kubernetes.geeraert.eu,cloudmanager.geeraert.eu,podcast.geeraert.eu" } DEBUG = { value = "False" } ENVIRONMENT = { value = "PRODUCTION" } 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 = true mount_path = "/kubeconfig" } stash-django-pvc = { host_path = "/ssd/stash/data-pvc/" mount_path = "/stash" } } import_database_secret = { host = "c73c74e5-b482-4abb-a4b3-b3ed00b0f089" name = "0a0d6458-86e9-4257-b874-b3ed00b6a11c" password = "6e947bd5-5646-4838-a93a-b3ed00b0f176" port = "5e7de818-6131-4372-923c-b3ed00b0efa2" username = "30ce2424-e67c-42d5-a5ac-b3ed00b0f0fc" } } django-testing = { #enabled = false image = "gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:latest" service_port = [8000] domain_name = ["django-testing", "admin-testing", "redirect-testing", "streaming-testing", "stash-testing", "simpsons-testing", "kubernetes-testing", "cloudmanager-testing", "podcast-testing"] database = {} requirements = { limits-cpu = "800m" limits-memory = "800Mi" requests-cpu = "10m" requests-memory = "300Mi" } extra_manifest = ["../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.geeraert.eu,admin-testing.geeraert.eu,redirect-testing.geeraert.eu,streaming-testing.geeraert.eu,stash-testing.geeraert.eu,simpsons-testing.geeraert.eu,kubernetes-testing.geeraert.eu,cloudmanager-testing.geeraert.eu,podcast-testing.geeraert.eu" } CELERY_BROKER_URL = { value = "redis://django-testing-redis-svc:6379" } DEBUG = { value = "true" } DB_PORT = { value = 5432 } CUSTOM_DB_DATABASE = { value = "cloudmanager" } } pvc = { kubeconfig = { secret = true mount_path = "/kubeconfig" } } import_database_secret = { host = "097f10de-63ee-405c-b46a-b41001781e07" name = "20530a85-e446-4d79-8985-b41001781e07" password = "a3385f49-ba92-4478-b6f1-b4e100ff01fb" port = "e15e00eb-db1e-47ea-ab0e-b41001781e09" username = "3c67d310-7113-45b7-8f3f-b41001781e08" } } 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/" } } } netdatat = { image = "debian" enabled = false service_port = [19999] domain_name = ["netdata"] command = ["sleep", "3600"] security_context = true environment = { NETDATA_CLAIM_TOKEN = { value = "wN6wJV1M5jvLbcpQTT78s0WRWiCkxz-s4l9tzeIqwA86upIkVSTk6TbaPbA5L6h_5HH9LoemluBqSPAGzi8DnJ2LBp4e8JGRVuWwOv8EWcKfrV0winCPce4xXtuD780KUW5CR6k" } NETDATA_CLAIM_URL = { value = "https://app.netdata.cloud" } NETDATA_CLAIM_ROOMS = { value = "28654d7b-4767-4b8e-bddc-8d134624bb3b" } } pvc = { netdata-config = { name = "netdata-config" pvc = true pvc_size = "1Gi" mount_path = "/etc/netdata" } netdata-lib = { name = "netdata-lib" pvc = true pvc_size = "1Gi" mount_path = "/var/lib/netdata" } netdata-cache = { name = "netdata-cache" pvc = true pvc_size = "1Gi" mount_path = "/var/cache/netdata" } netdata-host-root = { host_path = "/" name = "netdata-host-root" mount_path = "/host/root" } netdata-host-passwd = { host_path = "/etc/passwd" name = "netdata-host-passwd" mount_path = "/host/etc/passwd" } netdata-host-group = { host_path = "/etc/group" name = "netdata-host-group" mount_path = "/host/etc/group" } netdata-host-localtime = { host_path = "/etc/localtime" name = "netdata-host-localtime" mount_path = "/etc/localtime" } netdata-host-proc = { host_path = "/proc" name = "netdata-host-proc" mount_path = "/host/proc" } netdata-host-sys = { host_path = "/sys" name = "netdata-host-sys" mount_path = "/host/sys" } netdata-host-os-release = { host_path = "/etc/os-release" name = "netdata-host-os-release" mount_path = "/host/etc/os-release" } netdata-host-var-log = { host_path = "/var/log" name = "netdata-host-var-log" mount_path = "/host/var/log" } netdata-docker-sock = { host_path = "/var/run/docker.sock" name = "netdata-docker-sock" mount_path = "/var/run/docker.sock" } netdata-host-dbus = { host_path = "/run/dbus" name = "netdata-host-dbus" mount_path = "/run/dbus" } } } }