feat: apply base repo
This commit is contained in:
parent
28d77db3b1
commit
e01ed75fe8
25 changed files with 25 additions and 257 deletions
14
infrastructure/cert-manager/helmrelease.yaml
Normal file
14
infrastructure/cert-manager/helmrelease.yaml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: cert-manager
|
||||
namespace: cert-manager
|
||||
spec:
|
||||
chart:
|
||||
spec:
|
||||
chart: cert-manager
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: cert-manager
|
||||
values:
|
||||
installCRDs: true
|
||||
8
infrastructure/cert-manager/helmrepository.yaml
Normal file
8
infrastructure/cert-manager/helmrepository.yaml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: cert-manager
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 1h
|
||||
url: https://charts.jetstack.io
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: cnpg-system
|
||||
name: cert-manager
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
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
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: cnpg-operator
|
||||
namespace: cnpg-system
|
||||
spec:
|
||||
interval: 10m
|
||||
chart:
|
||||
spec:
|
||||
chart: cloudnative-pg
|
||||
version: "0.23.2"
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: cnpg
|
||||
namespace: flux-system
|
||||
interval: 1m
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
apiVersion: source.toolkit.fluxcd.io/v1beta2 # Oder v1 je nach deiner Flux-Version
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: cnpg
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 1h
|
||||
url: https://cloudnative-pg.io/charts
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- helmrepository.yaml
|
||||
- helmrelease-operator.yaml
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
apiVersion: helm.toolkit.fluxcd.io/v2beta2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: gitea-act-runner
|
||||
namespace: gitea
|
||||
spec:
|
||||
releaseName: gitea-act-runner
|
||||
interval: 10m
|
||||
chart:
|
||||
spec:
|
||||
chart: gitea-act-runner
|
||||
version: "0.5.2"
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: gitea-charts
|
||||
namespace: flux-system
|
||||
values:
|
||||
provisioning:
|
||||
enabled: true
|
||||
# Gitea-URL wie im Cluster erreichbar (interner Service-Name!)
|
||||
serverURL: "http://gitea-http.gitea.svc.cluster.local:3000"
|
||||
# Admin-Zugangsdaten wie oben im Gitea-Chart gesetzt
|
||||
adminUser: "giteaadmin"
|
||||
# adminPassword: "changeme"
|
||||
adminPassword: "F3l1x-230113?"
|
||||
rbac:
|
||||
create: true
|
||||
# Optional: Runner-Name, falls du mehrere Runner willst
|
||||
runner:
|
||||
labels: ["k3s", "fluxcd"]
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: gitea-charts
|
||||
namespace: flux-system
|
||||
spec:
|
||||
url: https://dl.gitea.io/charts/
|
||||
interval: 1h
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- helmrepository.yaml
|
||||
- helmrelease.yaml
|
||||
|
|
@ -1,9 +1,4 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- monitoring/
|
||||
- longhorn/
|
||||
- gitea/
|
||||
# - gitea-runner/
|
||||
# - sonarqube/
|
||||
- cnpg
|
||||
# resources:
|
||||
# - monitoring/
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
apiVersion: helm.toolkit.fluxcd.io/v2beta2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: longhorn
|
||||
namespace: longhorn-system
|
||||
spec:
|
||||
releaseName: longhorn
|
||||
chart:
|
||||
spec:
|
||||
chart: longhorn
|
||||
version: "1.8.1"
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: longhorn
|
||||
namespace: flux-system
|
||||
interval: 5m
|
||||
install:
|
||||
createNamespace: true
|
||||
values:
|
||||
defaultSettings:
|
||||
defaultReplicaCount: 2
|
||||
persistence:
|
||||
defaultClassReplicaCount: 2
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: longhorn
|
||||
namespace: flux-system
|
||||
spec:
|
||||
url: https://charts.longhorn.io
|
||||
interval: 10m
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- helmrepository.yaml
|
||||
- helmrelease.yaml
|
||||
- longhorn-ingress.yaml
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: longhorn-ui
|
||||
namespace: longhorn-system
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "traefik"
|
||||
spec:
|
||||
rules:
|
||||
- host: longhorn.local
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: longhorn-frontend
|
||||
port:
|
||||
number: 80
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: longhorn-system
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
apiVersion: helm.toolkit.fluxcd.io/v2beta2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: sonarqube
|
||||
namespace: sonarqube
|
||||
spec:
|
||||
interval: 10m
|
||||
chart:
|
||||
spec:
|
||||
chart: sonarqube
|
||||
version: "2025.2.0"
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: sonarqube
|
||||
namespace: flux-system
|
||||
values:
|
||||
community:
|
||||
enabled: true
|
||||
monitoringPasscode: "supersecret123"
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClass: longhorn
|
||||
size: 5Gi
|
||||
postgresql:
|
||||
enabled: true
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClass: longhorn
|
||||
size: 2Gi
|
||||
ingress:
|
||||
enabled: true
|
||||
hosts:
|
||||
- name: sonarqube.local
|
||||
path: /
|
||||
ingressClassName: traefik
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: sonarqube
|
||||
namespace: flux-system
|
||||
spec:
|
||||
url: https://SonarSource.github.io/helm-chart-sonarqube
|
||||
interval: 1h
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- helmrepository.yaml
|
||||
- helmrelease.yaml
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: sonarqube
|
||||
Loading…
Add table
Add a link
Reference in a new issue