adding bitwarden and successfull migration

This commit is contained in:
2026-02-05 11:28:48 +00:00
parent 2fc3e0d543
commit 56c957139c
12 changed files with 2182 additions and 65 deletions
@@ -2,5 +2,5 @@ apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: bitwarden-identity-cert-password name: bitwarden-identity-cert-password
namespace: bitwardent namespace: bitwarden
type: Opaque type: Opaque
@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: bitwarden-mssql-nodeport name: bitwarden-mssql-nodeport
namespace: bitwardent namespace: bitwarden
spec: spec:
ports: ports:
- name: 1433bitwarden-m - name: 1433bitwarden-m
File diff suppressed because it is too large Load Diff
@@ -7,5 +7,5 @@ data:
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: config name: config
namespace: bitwardent namespace: bitwarden
@@ -16,5 +16,5 @@ data:
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: global.env name: global.env
namespace: bitwardent namespace: bitwarden
@@ -25,4 +25,4 @@ data:
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: global.override.env name: global.override.env
namespace: bitwardent namespace: bitwarden
@@ -4,7 +4,7 @@ metadata:
labels: labels:
deployment_method: manually deployment_method: manually
name: identity name: identity
namespace: bitwardent namespace: bitwarden
spec: spec:
ports: ports:
- name: 5000bitwarden-i - name: 5000bitwarden-i
@@ -6,4 +6,4 @@ data:
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: mssql.env name: mssql.env
namespace: bitwardent namespace: bitwarden
@@ -4,4 +4,4 @@ data:
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: mssql.override.env name: mssql.override.env
namespace: bitwardent namespace: bitwarden
@@ -5,4 +5,4 @@ data:
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: uid.env name: uid.env
namespace: bitwardent namespace: bitwarden
+2
View File
@@ -59,6 +59,7 @@ variable "kubernetes" {
# requests-memory = "200Mi" # requests-memory = "200Mi"
# }) # })
dns_nameservers = optional(string) dns_nameservers = optional(string)
service_account_name = optional(string)
environment_variables = optional(map(string), { name = "value" }) environment_variables = optional(map(string), { name = "value" })
security_context = optional(bool, false) security_context = optional(bool, false)
})) }))
@@ -478,6 +479,7 @@ resource "kubernetes_deployment_v1" "automatic" {
} }
} }
service_account_name = each.value.service_account_name != null ? each.value.service_account_name : null
dynamic "volume" { dynamic "volume" {
for_each = each.value.pvc != null ? each.value.pvc : {} for_each = each.value.pvc != null ? each.value.pvc : {}
+141 -56
View File
@@ -2,7 +2,7 @@ kubernetes = {
bookstack = { bookstack = {
#namespace = "bookstack" #namespace = "bookstack"
#enabled = false #enabled = false
replicas = 0 replicas = 01
extra_manifest = ["/opt/kubernetes/Bookstack_kube/Bookstack.configmap.yaml", "/opt/kubernetes/Bookstack_kube/Bookstack.secret.yaml"] 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:24.10.3"
image = "linuxserver/bookstack:latest" image = "linuxserver/bookstack:latest"
@@ -106,20 +106,24 @@ kubernetes = {
stirling = { stirling = {
enabled = false enabled = false
name = "stirling-pdf" name = "stirling-pdf"
image = "docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest" image = "stirlingtools/stirling-pdf:2.0.0"
domain_name = "stirling"
service_port = [8080] service_port = [8080]
environment = { environment = {
LANGS = { LANGS = {
value = "en_GB" value = "en_GB"
} }
SECURITY_ENABLELOGIN = {
value = "false"
}
} }
requirements = { # requirements = {
limits-cpu = "100m" # limits-cpu = "100m"
limits-memory = "300Mi" # limits-memory = "300Mi"
requests-cpu = "50m" # requests-cpu = "50m"
requests-memory = "150Mi" # requests-memory = "150Mi"
} # }
pvc = { pvc = {
stirling-volume = { stirling-volume = {
name = "stirling-pdf" name = "stirling-pdf"
@@ -135,9 +139,10 @@ kubernetes = {
stash = { stash = {
# enabled = false # enabled = false
replicas = 0 replicas = 0
name = "stash" name = "stash"
image = "stashapp/stash:latest" #image = "stashapp/stash:latest"
image = "stashapp/stash:v0.30.1"
service_port = [9999] service_port = [9999]
#extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/stash/stash-reddit-dowloader.configmap.yml"] #extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/stash/stash-reddit-dowloader.configmap.yml"]
environment = { environment = {
@@ -300,6 +305,7 @@ kubernetes = {
onitama = { onitama = {
enabled = false enabled = false
namespace = "onitama" namespace = "onitama"
domain_name = "onitama"
image = "ghcr.io/jackadamson/onitama:latest" image = "ghcr.io/jackadamson/onitama:latest"
service_port = [8080] service_port = [8080]
requirements = { requirements = {
@@ -890,12 +896,12 @@ kubernetes = {
mount_path = "/data" mount_path = "/data"
} }
} }
requirements = { # requirements = {
limits-cpu = "900m" # limits-cpu = "900m"
limits-memory = "600Mi" # limits-memory = "600Mi"
requests-cpu = "300m" # requests-cpu = "300m"
requests-memory = "400Mi" # requests-memory = "400Mi"
} # }
} }
dupeguru = { dupeguru = {
@@ -1571,6 +1577,8 @@ kubernetes = {
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/django/kubeconfig.secret.yaml", "/opt/kubernetes/Terraform_kube/external_manifests/django/django-db.secret.yaml"] extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/django/kubeconfig.secret.yaml", "/opt/kubernetes/Terraform_kube/external_manifests/django/django-db.secret.yaml"]
environment = { environment = {
#HTTP_PROXY = {
#value = "http://gluetun-svc.gluetun.svc:8888" }
DB_PASSWORD = { DB_PASSWORD = {
value_from = { value_from = {
@@ -1636,7 +1644,23 @@ kubernetes = {
#enabled = false #enabled = false
connected_namespace = "django" connected_namespace = "django"
image = "gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest" image = "gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest"
command = ["celery","--workdir=django_code/", "-A", "django_code", "worker"] 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 = { environment = {
CELERY_BROKER_URL = { CELERY_BROKER_URL = {
value = "redis://django-redis-svc:6379" value = "redis://django-redis-svc:6379"
@@ -1644,6 +1668,8 @@ kubernetes = {
CELERY_IMPORTS = { CELERY_IMPORTS = {
value = "stash_management.apps" } value = "stash_management.apps" }
} }
HTTP_PROXY = {
value = "http://gluetun-svc.gluetun.svc:8888" }
PYTHONPATH = { PYTHONPATH = {
value = "/code/django_code/" } value = "/code/django_code/" }
} }
@@ -2102,14 +2128,14 @@ kubernetes = {
bitwarden-admin = { bitwarden-admin = {
#enabled = false #enabled = false
namespace = "bitwardent" namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-admin" name = "bitwarden-admin"
image = "bitwarden/admin:2024.5.0" 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"] 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] service_port = [5000]
config_map_ref = ["global.env", "uid.env", "global.override.env"] config_map_ref = ["global.env", "uid.env", "global.override.env"]
environment = {} environment = {}
pvc = { pvc = {
bitwarden-ca-certificates = { bitwarden-ca-certificates = {
@@ -2140,10 +2166,10 @@ kubernetes = {
bitwarden-api = { bitwarden-api = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-api" name = "bitwarden-api"
image = "gitea.tryton.geeraert.eu/pi-ux-ce/bitbetter_api:2024.5.0" image = "gitea.tryton.geeraert.eu/pi-ux-ce/bitbetter_api:2026.1.0"
service_port = [5000] service_port = [5000]
config_map_ref = ["global.env", "uid.env", "global.override.env"] config_map_ref = ["global.env", "uid.env", "global.override.env"]
environment = {} environment = {}
@@ -2176,10 +2202,10 @@ kubernetes = {
} }
bitwarden-attachments = { bitwarden-attachments = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-attachments" name = "bitwarden-attachments"
image = "bitwarden/attachments:2024.5.0" image = "ghcr.io/bitwarden/attachments:2026.1.0"
service_port = [5000] service_port = [5000]
config_map_ref = ["global.env", "uid.env"] config_map_ref = ["global.env", "uid.env"]
environment = {} environment = {}
@@ -2197,10 +2223,10 @@ kubernetes = {
} }
bitwarden-events = { bitwarden-events = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-events" name = "bitwarden-events"
image = "bitwarden/events:2024.5.0" image = "ghcr.io/bitwarden/events:2026.1.0"
service_port = [5000] service_port = [5000]
config_map_ref = ["global.env", "uid.env", "global.override.env"] config_map_ref = ["global.env", "uid.env", "global.override.env"]
environment = {} environment = {}
@@ -2225,10 +2251,10 @@ kubernetes = {
} }
bitwarden-icons = { bitwarden-icons = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-icons" name = "bitwarden-icons"
image = "bitwarden/icons:2024.5.0" image = "ghcr.io/bitwarden/icons:2026.1.0"
service_port = [5000] service_port = [5000]
config_map_ref = ["global.env", "uid.env"] config_map_ref = ["global.env", "uid.env"]
environment = {} environment = {}
@@ -2252,10 +2278,10 @@ kubernetes = {
bitwarden-identity = { bitwarden-identity = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-identity" name = "bitwarden-identity"
image = "gitea.tryton.geeraert.eu/pi-ux-ce/bitbetter_identity:2024.5.0" image = "gitea.tryton.geeraert.eu/pi-ux-ce/bitbetter_identity:2026.1.0"
service_port = [5000] service_port = [5000]
config_map_ref = ["global.env", "uid.env", "global.override.env"] config_map_ref = ["global.env", "uid.env", "global.override.env"]
environment = {} environment = {}
@@ -2291,10 +2317,10 @@ kubernetes = {
} }
bitwarden-mssql = { bitwarden-mssql = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-mssql" name = "bitwarden-mssql"
image = "bitwarden/mssql:2024.5.0" image = "ghcr.io/bitwarden/mssql:2026.1.0"
service_port = [1433, 5000] service_port = [1433, 5000]
config_map_ref = ["mssql.env", "uid.env", "mssql.override.env"] config_map_ref = ["mssql.env", "uid.env", "mssql.override.env"]
environment = {} environment = {}
@@ -2318,10 +2344,10 @@ kubernetes = {
} }
bitwarden-nginx = { bitwarden-nginx = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-nginx" name = "bitwarden-nginx"
image = "bitwarden/nginx:2024.5.0" image = "ghcr.io/bitwarden/nginx:2026.1.0"
service_port = [5000, 8080, 8443] service_port = [5000, 8080, 8443]
config_map_ref = ["uid.env"] config_map_ref = ["uid.env"]
environment = {} environment = {}
@@ -2357,10 +2383,10 @@ kubernetes = {
} }
bitwarden-notifications = { bitwarden-notifications = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-notifications" name = "bitwarden-notifications"
image = "bitwarden/notifications:2024.5.0" image = "ghcr.io/bitwarden/notifications:2026.1.0"
service_port = [5000] service_port = [5000]
config_map_ref = ["global.env", "uid.env", "global.override.env"] config_map_ref = ["global.env", "uid.env", "global.override.env"]
environment = {} environment = {}
@@ -2383,10 +2409,10 @@ kubernetes = {
} }
bitwarden-sso = { bitwarden-sso = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-sso" name = "bitwarden-sso"
image = "bitwarden/sso:2024.5.0" image = "ghcr.io/bitwarden/sso:2026.1.0"
service_port = [5000] service_port = [5000]
config_map_ref = ["global.env", "uid.env", "global.override.env"] config_map_ref = ["global.env", "uid.env", "global.override.env"]
environment = {} environment = {}
@@ -2421,10 +2447,10 @@ kubernetes = {
} }
bitwarden-web = { bitwarden-web = {
#enabled = false #enabled = false
connected_namespace = "bitwardent" connected_namespace = "bitwarden"
replicas = 0 replicas = 1
name = "bitwarden-web" name = "bitwarden-web"
image = "bitwarden/web:2024.5.0" image = "ghcr.io/bitwarden/web:2026.1.0"
service_port = [5000] service_port = [5000]
config_map_ref = ["global.env", "uid.env"] config_map_ref = ["global.env", "uid.env"]
environment = {} environment = {}
@@ -2452,4 +2478,63 @@ kubernetes = {
redis = { redis = {
image = "redis:5.0" } 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", "/opt/kubernetes/Terraform_kube/external_manifests/fail2ban/fail2ban-nginx-http-auth-jail.configmap.yaml", "/opt/kubernetes/Terraform_kube/external_manifests/fail2ban/fail2ban-nginx-unauthorized-filter.configmap.yaml", "/opt/kubernetes/Terraform_kube/external_manifests/fail2ban/nginx-block-map-action.configmap.yaml"]
service_account_name = "kubectl-service-account"
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/"
}
}
}
} }