ci: add cloud native pg to cluster and remove sonarqube

This commit is contained in:
Patryk Hegenberg 2025-05-07 21:24:22 +02:00
parent 5e77cbecfa
commit 31700dd532
6 changed files with 98 additions and 1 deletions

View file

@ -0,0 +1,62 @@
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