From 63dad0fcd75d3200fcf1e65ee63c9e4c4dbc3f43 Mon Sep 17 00:00:00 2001 From: Nick Adam Date: Mon, 19 Jan 2026 00:32:56 +0100 Subject: [PATCH] feature: removed further dependecies --- apps/argocd-config/argocd-ha-patch.yaml | 7 ++++++ apps/outline/dependencies-pdb.yaml | 31 +++++++++++++++++++++++++ apps/outline/dependencies.yaml | 9 +++++-- 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 apps/outline/dependencies-pdb.yaml diff --git a/apps/argocd-config/argocd-ha-patch.yaml b/apps/argocd-config/argocd-ha-patch.yaml index f05efae..c4d4fc5 100644 --- a/apps/argocd-config/argocd-ha-patch.yaml +++ b/apps/argocd-config/argocd-ha-patch.yaml @@ -1,5 +1,6 @@ # ArgoCD HA Patch # Patches das argocd-server Deployment für High Availability +# WICHTIG: Strategic Merge Patch - muss vollständige Struktur enthalten apiVersion: apps/v1 kind: Deployment @@ -8,7 +9,13 @@ metadata: namespace: argocd spec: replicas: 2 # HA: Mindestens 2 Replicas für Ausfallsicherheit + selector: + matchLabels: + app.kubernetes.io/name: argocd-server template: + metadata: + labels: + app.kubernetes.io/name: argocd-server spec: affinity: podAntiAffinity: diff --git a/apps/outline/dependencies-pdb.yaml b/apps/outline/dependencies-pdb.yaml new file mode 100644 index 0000000..099e2bd --- /dev/null +++ b/apps/outline/dependencies-pdb.yaml @@ -0,0 +1,31 @@ +# Pod Disruption Budgets für Outline Dependencies +# WICHTIG: PostgreSQL und Redis haben nur 1 Replica +# PDBs sind trotzdem sinnvoll für Wartungsarbeiten + +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: outline-postgres + namespace: outline + labels: + app: outline-postgres +spec: + minAvailable: 1 # Mindestens 1 Pod muss immer verfügbar sein + selector: + matchLabels: + app: outline-postgres + +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: outline-redis + namespace: outline + labels: + app: outline-redis +spec: + minAvailable: 1 # Mindestens 1 Pod muss immer verfügbar sein + selector: + matchLabels: + app: outline-redis diff --git a/apps/outline/dependencies.yaml b/apps/outline/dependencies.yaml index 9d85d0e..7bd795a 100644 --- a/apps/outline/dependencies.yaml +++ b/apps/outline/dependencies.yaml @@ -1,12 +1,14 @@ --- # REDIS +# HINWEIS: Redis HA (Sentinel) wäre besser, aber 1 Replica ist OK für Cache +# Wenn Redis ausfällt, funktioniert Outline noch (nur Features eingeschränkt) apiVersion: apps/v1 kind: Deployment metadata: name: outline-redis namespace: outline spec: - replicas: 1 + replicas: 1 # HA: Optional auf Redis Sentinel upgraden selector: matchLabels: app: outline-redis @@ -41,6 +43,9 @@ spec: app: outline-redis --- # POSTGRES +# HINWEIS: PostgreSQL HA benötigt Replication (Primary/Standby), nicht einfach mehr Replicas! +# ReadWriteOnce PVC kann nur auf einem Pod gemountet werden +# Für HA: Patroni + etcd oder Managed PostgreSQL verwenden apiVersion: apps/v1 kind: StatefulSet metadata: @@ -48,7 +53,7 @@ metadata: namespace: outline spec: serviceName: outline-postgres - replicas: 1 + replicas: 1 # HA: PostgreSQL Replication erforderlich (Patroni + etcd) selector: matchLabels: app: outline-postgres