62 lines
2.3 KiB
YAML
62 lines
2.3 KiB
YAML
apiVersion: helm.toolkit.fluxcd.io/v2beta2 # Oder v2beta1
|
|
kind: HelmRelease
|
|
metadata:
|
|
name: shared-postgres-cluster
|
|
namespace: cnpg-system # Oder ein anderer Namespace für die Datenbank selbst, z.B. 'database'
|
|
spec:
|
|
interval: 10m
|
|
chart:
|
|
spec:
|
|
chart: cluster # Dies ist der Chart für den Cluster selbst
|
|
# version: "<aktuelle-cluster-chart-version>" # Finde die passende Version auf ArtifactHub
|
|
sourceRef:
|
|
kind: HelmRepository
|
|
name: cnpg # Das zuvor definierte Repository
|
|
namespace: flux-system
|
|
interval: 1m
|
|
values:
|
|
# Cluster Konfiguration
|
|
# Name des Clusters, der im cnpg-system Namespace erstellt wird
|
|
name: shared-pg
|
|
# Anzahl der Instanzen (für Hochverfügbarkeit anpassen)
|
|
instances: 3
|
|
# Storage Konfiguration (Longhorn verwenden, wie in deinen anderen Setups)
|
|
storage:
|
|
size: "10Gi" # Gesamtgröße für den Cluster, anpassen nach Bedarf
|
|
storageClass: "longhorn" # Deine Longhorn StorageClass
|
|
# PostgreSQL Version (prüfe Kompatibilität mit deinen Anwendungen)
|
|
# postgresql:
|
|
# imageName: "ghcr.io/cloudnative-pg/postgresql:15.3" # Beispiel
|
|
|
|
# Wichtig: Konfiguriere Backups! Hier nicht im Detail gezeigt.
|
|
# backup:
|
|
# barmanObjectStore:
|
|
# ...
|
|
|
|
# Monitoring (optional, aber empfohlen)
|
|
# monitoring:
|
|
# enablePodMonitor: true
|
|
|
|
# Initiale Datenbanken und Benutzer (optional, kann auch manuell oder per Job erfolgen)
|
|
# Beachte, dass du für jede Anwendung (Gitea, SonarQube) eigene Datenbanken und Benutzer
|
|
# in diesem geteilten Cluster benötigst. CloudNativePG kann Benutzer verwalten.
|
|
# Beispiel für einen initialen Benutzer (NICHT für Anwendungen direkt verwenden,
|
|
# sondern spezifische Benutzer pro Anwendung erstellen)
|
|
# bootstrap:
|
|
# initdb:
|
|
# database: app_db_1 # Beispiel: Gitea DB
|
|
# owner: app_user_1 # Beispiel: Gitea User
|
|
# # Weitere Datenbanken hier
|
|
#
|
|
# # Deklarative Rollen/Benutzer
|
|
# postgresql:
|
|
# managed:
|
|
# roles:
|
|
# - name: gitea_user
|
|
# # passwordSecret: # Besser ein Secret verwenden
|
|
# # name: gitea-db-credentials
|
|
# # key: password
|
|
# - name: sonarqube_user
|
|
# # passwordSecret:
|
|
# # name: sonarqube-db-credentials
|
|
# # key: password
|