first commit

This commit is contained in:
Hoang Nguyen
2026-05-05 22:34:39 +02:00
commit 0a05dd8d53
8 changed files with 16762 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# 1. App für den CloudNativePG Operator
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cnpg-operator
namespace: argocd
spec:
project: default
source:
repoURL: https://cloudnative-pg.github.io/charts
chart: cloudnative-pg
targetRevision: 0.28.0
helm:
values: |
installCRDs: false
destination:
server: 'https://kubernetes.default.svc'
namespace: cnpg-system
syncPolicy:
automated:
prune: true
selfHeel: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
automated:
allowEmpty: true
ignoreDifferences:
- group: apiextensions.k8s.io
kind: CustomResourceDefinition
jqPathExpressions:
- .spec.conversion.webhook.clientConfig.caBundle
dependsOn:
- name: timescaledb-crds

View File

@@ -0,0 +1,33 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: minio
namespace: argocd
spec:
project: default
source:
repoURL: https://charts.min.io/
chart: minio
targetRevision: 5.3.0
helm:
values: |
mode: standalone # WICHTIG: in Produktion solltest du den Modus "distributed" verwenden
replicas: 1 # WICHTIG: in Produktion mindestens 4 Replikate
buckets:
- name: backups
policy: none
purge: false
rootUser: admin
rootPassword: password123 # ÄNDERE DAS SOFORT IN PRODUKTION (via Secret)
persistence:
size: 100Gi
destination:
server: 'https://kubernetes.default.svc'
namespace: minio-system
syncPolicy:
automated:
prune: true
selfHeel: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true

View File

@@ -0,0 +1,18 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: timescaledb-crds
namespace: argocd
spec:
project: default
source:
repoURL: 'https://gitea.vhn-demo.duckdns.org/hoang/timescaledb.git'
path: k8s/base/crds
targetRevision: main
destination:
server: 'https://kubernetes.default.svc'
namespace: argocd
syncPolicy:
automated:
prune: true
selfHeel: true

View File

@@ -0,0 +1,28 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: timescaledb
namespace: argocd
spec:
project: default
source:
repoURL: 'https://gitea.vhn-demo.duckdns.org/hoang/timescaledb.git'
path: k8s/base/database # cluster.yaml
targetRevision: main
destination:
server: 'https://kubernetes.default.svc'
namespace: database
syncPolicy:
automated:
prune: true
selfHeel: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
ignoreDifferences:
- group: postgresql.cnpg.io
kind: Cluster
jqPathExpressions:
- .status
dependsOn:
- name: cnpg-operator

16625
k8s/base/crds/cnpg-crds.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
resources:
- cnpg-crds.yaml

View File

@@ -0,0 +1,20 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: timescale-cluster
spec:
instances: 3
imageName: timescale/timescaledb:2.15.3-pg15
storage:
size: 50Gi
backup:
barmanObjectStore:
destinationPath: "s3://backups/"
endpointURL: "http://minio.minio-system.svc.cluster.local:9000"
s3Credentials:
accessKeyId:
name: s3-creds
key: ACCESS_KEY_ID
secretAccessKey:
name: s3-creds
key: SECRET_ACCESS_KEY

View File

@@ -0,0 +1,2 @@
resources:
- cluster.yaml