2548 lines
60 KiB
HCL
2548 lines
60 KiB
HCL
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"
|
|
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.0.0"
|
|
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.0.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 = "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/"
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
}
|