From 6384d2ba7fb6ad307972373201081138a66d730f Mon Sep 17 00:00:00 2001 From: Hoang Nguyen Date: Wed, 6 May 2026 11:36:45 +0200 Subject: [PATCH] fix timescale version --- README.md | 9 ++++++++- k8s/base/database/cluster.yaml | 24 +++++++----------------- k8s/base/database/restore-configmap.yaml | 2 +- k8s/recovery/restore-latest.yaml | 2 +- k8s/recovery/restore-test.yaml | 2 +- k8s/recovery/restore-timestamp.yaml | 2 +- 6 files changed, 19 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 96b4c0f..ddf444f 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,11 @@ Use: -kubectl apply -f restore-latest.yaml \ No newline at end of file +kubectl apply -f restore-latest.yaml + +## TODOS + +- Prometheus Stack integrieren +- Alerts an Teams schicken +- Dashboard für Backups in Grafana bauen +- ONE Click restore \ No newline at end of file diff --git a/k8s/base/database/cluster.yaml b/k8s/base/database/cluster.yaml index 12e4a69..f0b48ec 100644 --- a/k8s/base/database/cluster.yaml +++ b/k8s/base/database/cluster.yaml @@ -4,20 +4,15 @@ metadata: name: timescale-cluster spec: instances: 3 - - imageName: timescale/timescaledb:2.15.3-pg15 - - # ✅ Initiales Setup + imageName: ghcr.io/cloudnative-pg/postgresql:15 bootstrap: initdb: database: app - owner: app - - # ✅ Storage + owner: app + postInitSQL: + - CREATE EXTENSION IF NOT EXISTS timescaledb; storage: size: 50Gi - - # ✅ Ressourcen (wichtig!) resources: requests: memory: "2Gi" @@ -25,17 +20,11 @@ spec: limits: memory: "4Gi" cpu: "2" - - # ✅ High Availability affinity: enablePodAntiAffinity: true topologyKey: kubernetes.io/hostname - - # ✅ Monitoring monitoring: enablePodMonitor: true - - # ✅ PostgreSQL / Timescale Tuning postgresql: parameters: max_connections: "100" # mehr Verbindungen 200 @@ -47,6 +36,7 @@ spec: checkpoint_completion_target: "0.9" random_page_cost: "1.1" # SSD optimiert effective_io_concurrency: "200" + shared_preload_libraries: "timescaledb" backup: retentionPolicy: "7d" # Backup älter als 7 Tage -> automatisch gelöscht barmanObjectStore: @@ -55,9 +45,9 @@ spec: s3Credentials: accessKeyId: name: s3-creds - key: ACCESS_KEY_ID + key: S3_ACCESS_KEY_ID secretAccessKey: name: s3-creds - key: SECRET_ACCESS_KEY + key: S3_SECRET_ACCESS_KEY wal: compression: gzip \ No newline at end of file diff --git a/k8s/base/database/restore-configmap.yaml b/k8s/base/database/restore-configmap.yaml index bb81152..d26f1e0 100644 --- a/k8s/base/database/restore-configmap.yaml +++ b/k8s/base/database/restore-configmap.yaml @@ -11,7 +11,7 @@ data: name: timescale-restore-test spec: instances: 1 - imageName: timescale/timescaledb:2.15.3-pg15 + imageName: ghcr.io/cloudnative-pg/postgresql:15 bootstrap: recovery: source: timescale-cluster diff --git a/k8s/recovery/restore-latest.yaml b/k8s/recovery/restore-latest.yaml index fe31e16..927b239 100644 --- a/k8s/recovery/restore-latest.yaml +++ b/k8s/recovery/restore-latest.yaml @@ -5,7 +5,7 @@ metadata: namespace: database spec: instances: 1 - imageName: timescale/timescaledb:2.15.3-pg15 + imageName: ghcr.io/cloudnative-pg/postgresql:15 bootstrap: recovery: source: timescale-cluster diff --git a/k8s/recovery/restore-test.yaml b/k8s/recovery/restore-test.yaml index 23c9473..9c90ffd 100644 --- a/k8s/recovery/restore-test.yaml +++ b/k8s/recovery/restore-test.yaml @@ -5,7 +5,7 @@ metadata: namespace: database spec: instances: 1 - imageName: timescale/timescaledb:2.15.3-pg15 + imageName: ghcr.io/cloudnative-pg/postgresql:15 bootstrap: recovery: source: timescale-cluster diff --git a/k8s/recovery/restore-timestamp.yaml b/k8s/recovery/restore-timestamp.yaml index a3bc630..83e8f40 100644 --- a/k8s/recovery/restore-timestamp.yaml +++ b/k8s/recovery/restore-timestamp.yaml @@ -5,7 +5,7 @@ metadata: namespace: database spec: instances: 1 - imageName: timescale/timescaledb:2.15.3-pg15 + imageName: ghcr.io/cloudnative-pg/postgresql:15 bootstrap: recovery: source: timescale-cluster