From 8bfa05e807ecb4d50fc474d02957f4d51307fee0 Mon Sep 17 00:00:00 2001 From: gitea-bot Date: Wed, 24 Dec 2025 04:34:45 +0000 Subject: [PATCH 1/3] chore: Update manifests after change --- ...e-kube-prometheus-stack-alertmanager.yaml} | 20 +++++----- ...ute-kube-prometheus-stack-prometheus.yaml} | 22 ++++++----- .../Cluster-lidarr-postgresql-18-cluster.yaml | 4 +- ...tgresql-18-backup-garage-local-secret.yaml | 39 +++++++++++++++++++ ...r-postgresql-18-cluster-backup-secret.yaml | 28 ------------- ...lidarr-postgresql-18-recovery-secret.yaml} | 22 ++++++----- ...oute-lidarr.yaml => HTTPRoute-lidarr.yaml} | 26 +++++++------ ...rr-postgresql-18-backup-garage-local.yaml} | 15 +++---- ...ctStore-lidarr-postgresql-18-recovery.yaml | 12 ++++-- ...Rule-lidarr-postgresql-18-alert-rules.yaml | 4 +- ...esql-18-scheduled-backup-live-backup.yaml} | 9 +++-- .../lidarr/ServiceMonitor-lidarr.yaml | 19 +++++---- ...-lidatube.yaml => HTTPRoute-lidatube.yaml} | 26 +++++++------ ...istenarr.yaml => HTTPRoute-listenarr.yaml} | 26 +++++++------ ...-matrix-synapse-postgresql-18-cluster.yaml | 4 +- ...ostgresql-18-database-mautrix-discord.yaml | 4 +- ...stgresql-18-database-mautrix-whatsapp.yaml | 4 +- ...tgresql-18-backup-garage-local-secret.yaml | 39 +++++++++++++++++++ ...synapse-postgresql-18-recovery-secret.yaml | 39 +++++++++++++++++++ ...se-postgresql-18-backup-garage-local.yaml} | 15 +++---- ...matrix-synapse-postgresql-18-recovery.yaml | 12 ++++-- ...rix-synapse-postgresql-18-alert-rules.yaml | 4 +- ...esql-18-scheduled-backup-live-backup.yaml} | 9 +++-- .../ServiceMonitor-matrix-hookshot.yaml | 19 +++++---- 24 files changed, 273 insertions(+), 148 deletions(-) rename clusters/cl01tl/manifests/kube-prometheus-stack/{HTTPRoute-http-route-alertmanager.yaml => HTTPRoute-kube-prometheus-stack-alertmanager.yaml} (58%) rename clusters/cl01tl/manifests/kube-prometheus-stack/{HTTPRoute-http-route-prometheus.yaml => HTTPRoute-kube-prometheus-stack-prometheus.yaml} (54%) create mode 100644 clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-backup-garage-local-secret.yaml delete mode 100644 clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-cluster-backup-secret.yaml rename clusters/cl01tl/manifests/lidarr/{ExternalSecret-lidarr-postgresql-18-cluster-backup-secret-garage.yaml => ExternalSecret-lidarr-postgresql-18-recovery-secret.yaml} (76%) rename clusters/cl01tl/manifests/lidarr/{HTTPRoute-http-route-lidarr.yaml => HTTPRoute-lidarr.yaml} (65%) rename clusters/cl01tl/manifests/lidarr/{ObjectStore-lidarr-postgresql-18-garage-local-backup.yaml => ObjectStore-lidarr-postgresql-18-backup-garage-local.yaml} (58%) rename clusters/cl01tl/manifests/lidarr/{ScheduledBackup-lidarr-postgresql-18-live-backup-scheduled-backup.yaml => ScheduledBackup-lidarr-postgresql-18-scheduled-backup-live-backup.yaml} (63%) rename clusters/cl01tl/manifests/lidatube/{HTTPRoute-http-route-lidatube.yaml => HTTPRoute-lidatube.yaml} (64%) rename clusters/cl01tl/manifests/listenarr/{HTTPRoute-http-route-listenarr.yaml => HTTPRoute-listenarr.yaml} (64%) create mode 100644 clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-backup-garage-local-secret.yaml create mode 100644 clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-recovery-secret.yaml rename clusters/cl01tl/manifests/matrix-synapse/{ObjectStore-matrix-synapse-postgresql-18-garage-local-backup.yaml => ObjectStore-matrix-synapse-postgresql-18-backup-garage-local.yaml} (58%) rename clusters/cl01tl/manifests/matrix-synapse/{ScheduledBackup-matrix-synapse-postgresql-18-live-backup-scheduled-backup.yaml => ScheduledBackup-matrix-synapse-postgresql-18-scheduled-backup-live-backup.yaml} (63%) diff --git a/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-http-route-alertmanager.yaml b/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-alertmanager.yaml similarity index 58% rename from clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-http-route-alertmanager.yaml rename to clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-alertmanager.yaml index e1850a2d7..b32277f02 100644 --- a/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-http-route-alertmanager.yaml +++ b/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-alertmanager.yaml @@ -1,12 +1,17 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: - name: http-route-alertmanager + name: kube-prometheus-stack-alertmanager namespace: kube-prometheus-stack labels: - app.kubernetes.io/name: http-route-alertmanager + app: kube-prometheus-stack-alertmanager + app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: kube-prometheus-stack + app.kubernetes.io/version: "80.6.0" app.kubernetes.io/part-of: kube-prometheus-stack + chart: kube-prometheus-stack-80.6.0 + release: "kube-prometheus-stack" + heritage: "Helm" spec: parentRefs: - group: gateway.networking.k8s.io @@ -16,13 +21,10 @@ spec: hostnames: - alertmanager.alexlebens.net rules: - - matches: + - backendRefs: + - name: kube-prometheus-stack-alertmanager + port: 9093 + matches: - path: type: PathPrefix value: / - backendRefs: - - group: '' - kind: Service - name: kube-prometheus-stack-alertmanager - port: 9093 - weight: 100 diff --git a/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-http-route-prometheus.yaml b/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-prometheus.yaml similarity index 54% rename from clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-http-route-prometheus.yaml rename to clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-prometheus.yaml index b661cff60..b8d77ae4c 100644 --- a/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-http-route-prometheus.yaml +++ b/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-prometheus.yaml @@ -1,12 +1,17 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: - name: http-route-prometheus + name: kube-prometheus-stack-prometheus namespace: kube-prometheus-stack labels: - app.kubernetes.io/name: http-route-prometheus + app: kube-prometheus-stack-prometheus + app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: kube-prometheus-stack + app.kubernetes.io/version: "80.6.0" app.kubernetes.io/part-of: kube-prometheus-stack + chart: kube-prometheus-stack-80.6.0 + release: "kube-prometheus-stack" + heritage: "Helm" spec: parentRefs: - group: gateway.networking.k8s.io @@ -14,15 +19,12 @@ spec: name: traefik-gateway namespace: traefik hostnames: - - prometheus.alexlebens.net + - alertmanager.alexlebens.net rules: - - matches: + - backendRefs: + - name: kube-prometheus-stack-prometheus + port: 9090 + matches: - path: type: PathPrefix value: / - backendRefs: - - group: '' - kind: Service - name: prometheus-operated - port: 9090 - weight: 100 diff --git a/clusters/cl01tl/manifests/lidarr/Cluster-lidarr-postgresql-18-cluster.yaml b/clusters/cl01tl/manifests/lidarr/Cluster-lidarr-postgresql-18-cluster.yaml index d82399eb5..b2af2eab3 100644 --- a/clusters/cl01tl/manifests/lidarr/Cluster-lidarr-postgresql-18-cluster.yaml +++ b/clusters/cl01tl/manifests/lidarr/Cluster-lidarr-postgresql-18-cluster.yaml @@ -4,11 +4,11 @@ metadata: name: lidarr-postgresql-18-cluster namespace: lidarr labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: lidarr-postgresql-18 app.kubernetes.io/instance: lidarr app.kubernetes.io/part-of: lidarr - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: instances: 3 diff --git a/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-backup-garage-local-secret.yaml b/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-backup-garage-local-secret.yaml new file mode 100644 index 000000000..23b441faf --- /dev/null +++ b/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-backup-garage-local-secret.yaml @@ -0,0 +1,39 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: lidarr-postgresql-18-backup-garage-local-secret + namespace: lidarr + labels: + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: lidarr-postgresql-18 + app.kubernetes.io/instance: lidarr + app.kubernetes.io/part-of: lidarr + app.kubernetes.io/version: "7.4.3" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lidarr-postgresql-18-backup-garage-local-secret +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: ACCESS_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_REGION + - secretKey: ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_KEY_ID + - secretKey: ACCESS_SECRET_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-cluster-backup-secret.yaml b/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-cluster-backup-secret.yaml deleted file mode 100644 index d3c8c5bb2..000000000 --- a/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-cluster-backup-secret.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: lidarr-postgresql-18-cluster-backup-secret - namespace: lidarr - labels: - app.kubernetes.io/name: lidarr-postgresql-18-cluster-backup-secret - app.kubernetes.io/instance: lidarr - app.kubernetes.io/part-of: lidarr -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: ACCESS_KEY_ID - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: access - - secretKey: ACCESS_SECRET_KEY - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: secret diff --git a/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-cluster-backup-secret-garage.yaml b/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-recovery-secret.yaml similarity index 76% rename from clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-cluster-backup-secret-garage.yaml rename to clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-recovery-secret.yaml index 28b71fbb5..4aaba797c 100644 --- a/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-cluster-backup-secret-garage.yaml +++ b/clusters/cl01tl/manifests/lidarr/ExternalSecret-lidarr-postgresql-18-recovery-secret.yaml @@ -1,17 +1,28 @@ apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: - name: lidarr-postgresql-18-cluster-backup-secret-garage + name: lidarr-postgresql-18-recovery-secret namespace: lidarr labels: - app.kubernetes.io/name: lidarr-postgresql-18-cluster-backup-secret-garage + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: lidarr-postgresql-18 app.kubernetes.io/instance: lidarr app.kubernetes.io/part-of: lidarr + app.kubernetes.io/version: "7.4.3" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lidarr-postgresql-18-recovery-secret spec: secretStoreRef: kind: ClusterSecretStore name: vault data: + - secretKey: ACCESS_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_REGION - secretKey: ACCESS_KEY_ID remoteRef: conversionStrategy: Default @@ -26,10 +37,3 @@ spec: key: /garage/home-infra/postgres-backups metadataPolicy: None property: ACCESS_SECRET_KEY - - secretKey: ACCESS_REGION - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /garage/home-infra/postgres-backups - metadataPolicy: None - property: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/lidarr/HTTPRoute-http-route-lidarr.yaml b/clusters/cl01tl/manifests/lidarr/HTTPRoute-lidarr.yaml similarity index 65% rename from clusters/cl01tl/manifests/lidarr/HTTPRoute-http-route-lidarr.yaml rename to clusters/cl01tl/manifests/lidarr/HTTPRoute-lidarr.yaml index f4945bba8..0546f731c 100644 --- a/clusters/cl01tl/manifests/lidarr/HTTPRoute-http-route-lidarr.yaml +++ b/clusters/cl01tl/manifests/lidarr/HTTPRoute-lidarr.yaml @@ -1,12 +1,13 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: - name: http-route-lidarr - namespace: lidarr + name: lidarr labels: - app.kubernetes.io/name: http-route-lidarr app.kubernetes.io/instance: lidarr - app.kubernetes.io/part-of: lidarr + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lidarr + helm.sh/chart: lidarr-4.5.0 + namespace: lidarr spec: parentRefs: - group: gateway.networking.k8s.io @@ -14,15 +15,16 @@ spec: name: traefik-gateway namespace: traefik hostnames: - - lidarr.alexlebens.net + - "lidarr.alexlebens.net" rules: - - matches: + - backendRefs: + - group: "" + kind: Service + name: lidarr + namespace: lidarr + port: 80 + weight: 100 + matches: - path: type: PathPrefix value: / - backendRefs: - - group: '' - kind: Service - name: lidarr - port: 80 - weight: 100 diff --git a/clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-garage-local-backup.yaml b/clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-backup-garage-local.yaml similarity index 58% rename from clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-garage-local-backup.yaml rename to clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-backup-garage-local.yaml index a4bfe6e6a..b97730e56 100644 --- a/clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-garage-local-backup.yaml +++ b/clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-backup-garage-local.yaml @@ -1,27 +1,28 @@ apiVersion: barmancloud.cnpg.io/v1 kind: ObjectStore metadata: - name: "lidarr-postgresql-18-garage-local-backup" + name: lidarr-postgresql-18-backup-garage-local namespace: lidarr labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: lidarr-postgresql-18 app.kubernetes.io/instance: lidarr app.kubernetes.io/part-of: lidarr - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lidarr-postgresql-18-backup-garage-local spec: - retentionPolicy: 3d + retentionPolicy: 7d configuration: destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr-postgresql-18-cluster endpointURL: http://garage-main.garage:3900 s3Credentials: accessKeyId: - name: lidarr-postgresql-18-cluster-backup-secret-garage + name: lidarr-postgresql-18-backup-garage-local-secret key: ACCESS_KEY_ID secretAccessKey: - name: lidarr-postgresql-18-cluster-backup-secret-garage + name: lidarr-postgresql-18-backup-garage-local-secret key: ACCESS_SECRET_KEY region: - name: lidarr-postgresql-18-cluster-backup-secret-garage + name: lidarr-postgresql-18-backup-garage-local-secret key: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-recovery.yaml b/clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-recovery.yaml index 22172239d..ec2d64ecf 100644 --- a/clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-recovery.yaml +++ b/clusters/cl01tl/manifests/lidarr/ObjectStore-lidarr-postgresql-18-recovery.yaml @@ -4,12 +4,13 @@ metadata: name: "lidarr-postgresql-18-recovery" namespace: lidarr labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: lidarr-postgresql-18 app.kubernetes.io/instance: lidarr app.kubernetes.io/part-of: lidarr - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: "lidarr-postgresql-18-recovery" spec: configuration: destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr-postgresql-18-cluster @@ -22,8 +23,11 @@ spec: jobs: 1 s3Credentials: accessKeyId: - name: lidarr-postgresql-18-cluster-backup-secret + name: lidarr-postgresql-18-recovery-secret key: ACCESS_KEY_ID secretAccessKey: - name: lidarr-postgresql-18-cluster-backup-secret + name: lidarr-postgresql-18-recovery-secret key: ACCESS_SECRET_KEY + region: + name: lidarr-postgresql-18-recovery-secret + key: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/lidarr/PrometheusRule-lidarr-postgresql-18-alert-rules.yaml b/clusters/cl01tl/manifests/lidarr/PrometheusRule-lidarr-postgresql-18-alert-rules.yaml index 628256dae..ac4d291b4 100644 --- a/clusters/cl01tl/manifests/lidarr/PrometheusRule-lidarr-postgresql-18-alert-rules.yaml +++ b/clusters/cl01tl/manifests/lidarr/PrometheusRule-lidarr-postgresql-18-alert-rules.yaml @@ -4,11 +4,11 @@ metadata: name: lidarr-postgresql-18-alert-rules namespace: lidarr labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: lidarr-postgresql-18 app.kubernetes.io/instance: lidarr app.kubernetes.io/part-of: lidarr - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: groups: diff --git a/clusters/cl01tl/manifests/lidarr/ScheduledBackup-lidarr-postgresql-18-live-backup-scheduled-backup.yaml b/clusters/cl01tl/manifests/lidarr/ScheduledBackup-lidarr-postgresql-18-scheduled-backup-live-backup.yaml similarity index 63% rename from clusters/cl01tl/manifests/lidarr/ScheduledBackup-lidarr-postgresql-18-live-backup-scheduled-backup.yaml rename to clusters/cl01tl/manifests/lidarr/ScheduledBackup-lidarr-postgresql-18-scheduled-backup-live-backup.yaml index b62bb1fd9..dd313b5c8 100644 --- a/clusters/cl01tl/manifests/lidarr/ScheduledBackup-lidarr-postgresql-18-live-backup-scheduled-backup.yaml +++ b/clusters/cl01tl/manifests/lidarr/ScheduledBackup-lidarr-postgresql-18-scheduled-backup-live-backup.yaml @@ -1,15 +1,16 @@ apiVersion: postgresql.cnpg.io/v1 kind: ScheduledBackup metadata: - name: "lidarr-postgresql-18-live-backup-scheduled-backup" + name: "lidarr-postgresql-18-scheduled-backup-live-backup" namespace: lidarr labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: lidarr-postgresql-18 app.kubernetes.io/instance: lidarr app.kubernetes.io/part-of: lidarr - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: "lidarr-postgresql-18-scheduled-backup-live-backup" spec: immediate: true suspend: false @@ -21,4 +22,4 @@ spec: pluginConfiguration: name: barman-cloud.cloudnative-pg.io parameters: - barmanObjectName: "lidarr-postgresql-18-garage-local-backup" + barmanObjectName: "lidarr-postgresql-18-backup-garage-local" diff --git a/clusters/cl01tl/manifests/lidarr/ServiceMonitor-lidarr.yaml b/clusters/cl01tl/manifests/lidarr/ServiceMonitor-lidarr.yaml index 3cb7b1a0c..eb90c935d 100644 --- a/clusters/cl01tl/manifests/lidarr/ServiceMonitor-lidarr.yaml +++ b/clusters/cl01tl/manifests/lidarr/ServiceMonitor-lidarr.yaml @@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: lidarr - namespace: lidarr labels: - app.kubernetes.io/name: lidarr app.kubernetes.io/instance: lidarr - app.kubernetes.io/part-of: lidarr + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lidarr + helm.sh/chart: lidarr-4.5.0 + namespace: lidarr spec: + jobLabel: "lidarr" + namespaceSelector: + matchNames: + - lidarr selector: matchLabels: - app.kubernetes.io/name: lidarr app.kubernetes.io/instance: lidarr + app.kubernetes.io/name: lidarr endpoints: - - port: metrics - interval: 3m - scrapeTimeout: 1m + - interval: 3m path: /metrics + port: metrics + scrapeTimeout: 1m diff --git a/clusters/cl01tl/manifests/lidatube/HTTPRoute-http-route-lidatube.yaml b/clusters/cl01tl/manifests/lidatube/HTTPRoute-lidatube.yaml similarity index 64% rename from clusters/cl01tl/manifests/lidatube/HTTPRoute-http-route-lidatube.yaml rename to clusters/cl01tl/manifests/lidatube/HTTPRoute-lidatube.yaml index f28f62a27..37ac4a0e5 100644 --- a/clusters/cl01tl/manifests/lidatube/HTTPRoute-http-route-lidatube.yaml +++ b/clusters/cl01tl/manifests/lidatube/HTTPRoute-lidatube.yaml @@ -1,12 +1,13 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: - name: http-route-lidatube - namespace: lidatube + name: lidatube labels: - app.kubernetes.io/name: http-route-lidatube app.kubernetes.io/instance: lidatube - app.kubernetes.io/part-of: lidatube + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lidatube + helm.sh/chart: lidatube-4.5.0 + namespace: lidatube spec: parentRefs: - group: gateway.networking.k8s.io @@ -14,15 +15,16 @@ spec: name: traefik-gateway namespace: traefik hostnames: - - lidatube.alexlebens.net + - "lidatube.alexlebens.net" rules: - - matches: + - backendRefs: + - group: "" + kind: Service + name: lidatube + namespace: lidatube + port: 80 + weight: 100 + matches: - path: type: PathPrefix value: / - backendRefs: - - group: '' - kind: Service - name: lidatube - port: 80 - weight: 100 diff --git a/clusters/cl01tl/manifests/listenarr/HTTPRoute-http-route-listenarr.yaml b/clusters/cl01tl/manifests/listenarr/HTTPRoute-listenarr.yaml similarity index 64% rename from clusters/cl01tl/manifests/listenarr/HTTPRoute-http-route-listenarr.yaml rename to clusters/cl01tl/manifests/listenarr/HTTPRoute-listenarr.yaml index c1ed3c075..f448d695c 100644 --- a/clusters/cl01tl/manifests/listenarr/HTTPRoute-http-route-listenarr.yaml +++ b/clusters/cl01tl/manifests/listenarr/HTTPRoute-listenarr.yaml @@ -1,12 +1,13 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: - name: http-route-listenarr - namespace: listenarr + name: listenarr labels: - app.kubernetes.io/name: http-route-listenarr app.kubernetes.io/instance: listenarr - app.kubernetes.io/part-of: listenarr + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: listenarr + helm.sh/chart: listenarr-4.5.0 + namespace: listenarr spec: parentRefs: - group: gateway.networking.k8s.io @@ -14,15 +15,16 @@ spec: name: traefik-gateway namespace: traefik hostnames: - - listenarr.alexlebens.net + - "listenarr.alexlebens.net" rules: - - matches: + - backendRefs: + - group: "" + kind: Service + name: listenarr + namespace: listenarr + port: 80 + weight: 100 + matches: - path: type: PathPrefix value: / - backendRefs: - - group: '' - kind: Service - name: listenarr - port: 80 - weight: 100 diff --git a/clusters/cl01tl/manifests/matrix-synapse/Cluster-matrix-synapse-postgresql-18-cluster.yaml b/clusters/cl01tl/manifests/matrix-synapse/Cluster-matrix-synapse-postgresql-18-cluster.yaml index 98e75527d..af7aa01d4 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/Cluster-matrix-synapse-postgresql-18-cluster.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/Cluster-matrix-synapse-postgresql-18-cluster.yaml @@ -4,11 +4,11 @@ metadata: name: matrix-synapse-postgresql-18-cluster namespace: matrix-synapse labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: matrix-synapse-postgresql-18 app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/part-of: matrix-synapse - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: instances: 3 diff --git a/clusters/cl01tl/manifests/matrix-synapse/Database-matrix-synapse-postgresql-18-database-mautrix-discord.yaml b/clusters/cl01tl/manifests/matrix-synapse/Database-matrix-synapse-postgresql-18-database-mautrix-discord.yaml index e1ff01a76..97b3ae4e1 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/Database-matrix-synapse-postgresql-18-database-mautrix-discord.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/Database-matrix-synapse-postgresql-18-database-mautrix-discord.yaml @@ -4,11 +4,11 @@ metadata: name: matrix-synapse-postgresql-18-database-mautrix-discord namespace: matrix-synapse labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: matrix-synapse-postgresql-18 app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/part-of: matrix-synapse - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: name: mautrix-discord diff --git a/clusters/cl01tl/manifests/matrix-synapse/Database-matrix-synapse-postgresql-18-database-mautrix-whatsapp.yaml b/clusters/cl01tl/manifests/matrix-synapse/Database-matrix-synapse-postgresql-18-database-mautrix-whatsapp.yaml index fee5e6d20..8ec2e1077 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/Database-matrix-synapse-postgresql-18-database-mautrix-whatsapp.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/Database-matrix-synapse-postgresql-18-database-mautrix-whatsapp.yaml @@ -4,11 +4,11 @@ metadata: name: matrix-synapse-postgresql-18-database-mautrix-whatsapp namespace: matrix-synapse labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: matrix-synapse-postgresql-18 app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/part-of: matrix-synapse - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: name: mautrix-whatsapp diff --git a/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-backup-garage-local-secret.yaml b/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-backup-garage-local-secret.yaml new file mode 100644 index 000000000..3019098af --- /dev/null +++ b/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-backup-garage-local-secret.yaml @@ -0,0 +1,39 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: matrix-synapse-postgresql-18-backup-garage-local-secret + namespace: matrix-synapse + labels: + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: matrix-synapse-postgresql-18 + app.kubernetes.io/instance: matrix-synapse + app.kubernetes.io/part-of: matrix-synapse + app.kubernetes.io/version: "7.4.3" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: matrix-synapse-postgresql-18-backup-garage-local-secret +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: ACCESS_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_REGION + - secretKey: ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_KEY_ID + - secretKey: ACCESS_SECRET_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-recovery-secret.yaml b/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-recovery-secret.yaml new file mode 100644 index 000000000..6b6a2eeec --- /dev/null +++ b/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-recovery-secret.yaml @@ -0,0 +1,39 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: matrix-synapse-postgresql-18-recovery-secret + namespace: matrix-synapse + labels: + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: matrix-synapse-postgresql-18 + app.kubernetes.io/instance: matrix-synapse + app.kubernetes.io/part-of: matrix-synapse + app.kubernetes.io/version: "7.4.3" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: matrix-synapse-postgresql-18-recovery-secret +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: ACCESS_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_REGION + - secretKey: ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_KEY_ID + - secretKey: ACCESS_SECRET_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-garage-local-backup.yaml b/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-backup-garage-local.yaml similarity index 58% rename from clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-garage-local-backup.yaml rename to clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-backup-garage-local.yaml index a32b41404..15bbe746c 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-garage-local-backup.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-backup-garage-local.yaml @@ -1,27 +1,28 @@ apiVersion: barmancloud.cnpg.io/v1 kind: ObjectStore metadata: - name: "matrix-synapse-postgresql-18-garage-local-backup" + name: matrix-synapse-postgresql-18-backup-garage-local namespace: matrix-synapse labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: matrix-synapse-postgresql-18 app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/part-of: matrix-synapse - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: matrix-synapse-postgresql-18-backup-garage-local spec: - retentionPolicy: 3d + retentionPolicy: 7d configuration: destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-18-cluster endpointURL: http://garage-main.garage:3900 s3Credentials: accessKeyId: - name: matrix-synapse-postgresql-18-cluster-backup-secret-garage + name: matrix-synapse-postgresql-18-backup-garage-local-secret key: ACCESS_KEY_ID secretAccessKey: - name: matrix-synapse-postgresql-18-cluster-backup-secret-garage + name: matrix-synapse-postgresql-18-backup-garage-local-secret key: ACCESS_SECRET_KEY region: - name: matrix-synapse-postgresql-18-cluster-backup-secret-garage + name: matrix-synapse-postgresql-18-backup-garage-local-secret key: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-recovery.yaml b/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-recovery.yaml index b4470a2af..0f4bedce2 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-recovery.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-recovery.yaml @@ -4,12 +4,13 @@ metadata: name: "matrix-synapse-postgresql-18-recovery" namespace: matrix-synapse labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: matrix-synapse-postgresql-18 app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/part-of: matrix-synapse - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: "matrix-synapse-postgresql-18-recovery" spec: configuration: destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-18-cluster @@ -22,8 +23,11 @@ spec: jobs: 1 s3Credentials: accessKeyId: - name: matrix-synapse-postgresql-18-cluster-backup-secret-garage + name: matrix-synapse-postgresql-18-recovery-secret key: ACCESS_KEY_ID secretAccessKey: - name: matrix-synapse-postgresql-18-cluster-backup-secret-garage + name: matrix-synapse-postgresql-18-recovery-secret key: ACCESS_SECRET_KEY + region: + name: matrix-synapse-postgresql-18-recovery-secret + key: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/matrix-synapse/PrometheusRule-matrix-synapse-postgresql-18-alert-rules.yaml b/clusters/cl01tl/manifests/matrix-synapse/PrometheusRule-matrix-synapse-postgresql-18-alert-rules.yaml index 1b1aad8c0..8b818d66a 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/PrometheusRule-matrix-synapse-postgresql-18-alert-rules.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/PrometheusRule-matrix-synapse-postgresql-18-alert-rules.yaml @@ -4,11 +4,11 @@ metadata: name: matrix-synapse-postgresql-18-alert-rules namespace: matrix-synapse labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: matrix-synapse-postgresql-18 app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/part-of: matrix-synapse - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: groups: diff --git a/clusters/cl01tl/manifests/matrix-synapse/ScheduledBackup-matrix-synapse-postgresql-18-live-backup-scheduled-backup.yaml b/clusters/cl01tl/manifests/matrix-synapse/ScheduledBackup-matrix-synapse-postgresql-18-scheduled-backup-live-backup.yaml similarity index 63% rename from clusters/cl01tl/manifests/matrix-synapse/ScheduledBackup-matrix-synapse-postgresql-18-live-backup-scheduled-backup.yaml rename to clusters/cl01tl/manifests/matrix-synapse/ScheduledBackup-matrix-synapse-postgresql-18-scheduled-backup-live-backup.yaml index b4a190b1b..b78ff9295 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/ScheduledBackup-matrix-synapse-postgresql-18-live-backup-scheduled-backup.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/ScheduledBackup-matrix-synapse-postgresql-18-scheduled-backup-live-backup.yaml @@ -1,15 +1,16 @@ apiVersion: postgresql.cnpg.io/v1 kind: ScheduledBackup metadata: - name: "matrix-synapse-postgresql-18-live-backup-scheduled-backup" + name: "matrix-synapse-postgresql-18-scheduled-backup-live-backup" namespace: matrix-synapse labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: matrix-synapse-postgresql-18 app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/part-of: matrix-synapse - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: "matrix-synapse-postgresql-18-scheduled-backup-live-backup" spec: immediate: true suspend: false @@ -21,4 +22,4 @@ spec: pluginConfiguration: name: barman-cloud.cloudnative-pg.io parameters: - barmanObjectName: "matrix-synapse-postgresql-18-garage-local-backup" + barmanObjectName: "matrix-synapse-postgresql-18-backup-garage-local" diff --git a/clusters/cl01tl/manifests/matrix-synapse/ServiceMonitor-matrix-hookshot.yaml b/clusters/cl01tl/manifests/matrix-synapse/ServiceMonitor-matrix-hookshot.yaml index 1309bf09a..60d07f5e1 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/ServiceMonitor-matrix-hookshot.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/ServiceMonitor-matrix-hookshot.yaml @@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: matrix-hookshot - namespace: matrix-synapse labels: - app.kubernetes.io/name: matrix-hookshot app.kubernetes.io/instance: matrix-synapse - app.kubernetes.io/part-of: matrix-synapse + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: matrix-hookshot + helm.sh/chart: matrix-hookshot-4.5.0 + namespace: matrix-synapse spec: + jobLabel: "matrix-hookshot" + namespaceSelector: + matchNames: + - matrix-synapse selector: matchLabels: + app.kubernetes.io/instance: matrix-hookshot app.kubernetes.io/name: matrix-hookshot - app.kubernetes.io/instance: matrix-synapse endpoints: - - targetPort: 9001 - interval: 3m - scrapeTimeout: 1m + - interval: 3m path: /metrics + scrapeTimeout: 1m + targetPort: 9001 -- 2.49.1 From 93ef3b3c0034c3f20e3ae92aacf90d16b33cd617 Mon Sep 17 00:00:00 2001 From: gitea-bot Date: Wed, 24 Dec 2025 04:44:16 +0000 Subject: [PATCH 2/3] chore: Update manifests after change --- ...oute-kube-prometheus-stack-prometheus.yaml | 2 +- .../Cluster-n8n-postgresql-18-cluster.yaml | 4 +- ...tgresql-18-backup-garage-local-secret.yaml | 39 ++++++++ ...n-postgresql-18-cluster-backup-secret.yaml | 28 ------ ...et-n8n-postgresql-18-recovery-secret.yaml} | 22 +++-- ...http-route-n8n.yaml => HTTPRoute-n8n.yaml} | 35 ++++---- ...8n-postgresql-18-backup-garage-local.yaml} | 15 ++-- ...bjectStore-n8n-postgresql-18-recovery.yaml | 12 ++- ...eusRule-n8n-postgresql-18-alert-rules.yaml | 4 +- ...esql-18-scheduled-backup-live-backup.yaml} | 9 +- .../n8n/ServiceMonitor-n8n-main.yaml | 19 ++-- .../n8n/ServiceMonitor-n8n-webhook.yaml | 19 ++-- .../n8n/ServiceMonitor-n8n-worker.yaml | 19 ++-- ...tp-route-ntfy.yaml => HTTPRoute-ntfy.yaml} | 26 +++--- .../manifests/ntfy/ServiceMonitor-ntfy.yaml | 19 ++-- ...Cluster-ollama-postgresql-18-cluster.yaml} | 20 ++--- ...tgresql-18-backup-garage-local-secret.yaml | 39 ++++++++ ...ollama-postgresql-18-recovery-secret.yaml} | 22 +++-- ...b-postgresql-18-cluster-backup-secret.yaml | 28 ------ ...oute-ollama.yaml => HTTPRoute-ollama.yaml} | 26 +++--- ...ma-postgresql-18-backup-garage-local.yaml} | 19 ++-- ...tStore-ollama-postgresql-18-recovery.yaml} | 18 ++-- ...ule-ollama-postgresql-18-alert-rules.yaml} | 90 +++++++++---------- ...esql-18-scheduled-backup-live-backup.yaml} | 13 +-- 24 files changed, 308 insertions(+), 239 deletions(-) create mode 100644 clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-backup-garage-local-secret.yaml delete mode 100644 clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-cluster-backup-secret.yaml rename clusters/cl01tl/manifests/n8n/{ExternalSecret-n8n-postgresql-18-cluster-backup-secret-garage.yaml => ExternalSecret-n8n-postgresql-18-recovery-secret.yaml} (77%) rename clusters/cl01tl/manifests/n8n/{HTTPRoute-http-route-n8n.yaml => HTTPRoute-n8n.yaml} (73%) rename clusters/cl01tl/manifests/n8n/{ObjectStore-n8n-postgresql-18-garage-local-backup.yaml => ObjectStore-n8n-postgresql-18-backup-garage-local.yaml} (58%) rename clusters/cl01tl/manifests/n8n/{ScheduledBackup-n8n-postgresql-18-live-backup-scheduled-backup.yaml => ScheduledBackup-n8n-postgresql-18-scheduled-backup-live-backup.yaml} (63%) rename clusters/cl01tl/manifests/ntfy/{HTTPRoute-http-route-ntfy.yaml => HTTPRoute-ntfy.yaml} (66%) rename clusters/cl01tl/manifests/ollama/{Cluster-ollama-web-postgresql-18-cluster.yaml => Cluster-ollama-postgresql-18-cluster.yaml} (71%) create mode 100644 clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-postgresql-18-backup-garage-local-secret.yaml rename clusters/cl01tl/manifests/ollama/{ExternalSecret-ollama-web-postgresql-18-cluster-backup-secret-garage.yaml => ExternalSecret-ollama-postgresql-18-recovery-secret.yaml} (76%) delete mode 100644 clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-web-postgresql-18-cluster-backup-secret.yaml rename clusters/cl01tl/manifests/ollama/{HTTPRoute-http-route-ollama.yaml => HTTPRoute-ollama.yaml} (65%) rename clusters/cl01tl/manifests/ollama/{ObjectStore-ollama-web-postgresql-18-garage-local-backup.yaml => ObjectStore-ollama-postgresql-18-backup-garage-local.yaml} (51%) rename clusters/cl01tl/manifests/ollama/{ObjectStore-ollama-web-postgresql-18-recovery.yaml => ObjectStore-ollama-postgresql-18-recovery.yaml} (55%) rename clusters/cl01tl/manifests/ollama/{PrometheusRule-ollama-web-postgresql-18-alert-rules.yaml => PrometheusRule-ollama-postgresql-18-alert-rules.yaml} (74%) rename clusters/cl01tl/manifests/ollama/{ScheduledBackup-ollama-web-postgresql-18-live-backup-scheduled-backup.yaml => ScheduledBackup-ollama-postgresql-18-scheduled-backup-live-backup.yaml} (52%) diff --git a/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-prometheus.yaml b/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-prometheus.yaml index b8d77ae4c..941300f3c 100644 --- a/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-prometheus.yaml +++ b/clusters/cl01tl/manifests/kube-prometheus-stack/HTTPRoute-kube-prometheus-stack-prometheus.yaml @@ -19,7 +19,7 @@ spec: name: traefik-gateway namespace: traefik hostnames: - - alertmanager.alexlebens.net + - prometheus.alexlebens.net rules: - backendRefs: - name: kube-prometheus-stack-prometheus diff --git a/clusters/cl01tl/manifests/n8n/Cluster-n8n-postgresql-18-cluster.yaml b/clusters/cl01tl/manifests/n8n/Cluster-n8n-postgresql-18-cluster.yaml index 5d6f035d0..fa602a2bd 100644 --- a/clusters/cl01tl/manifests/n8n/Cluster-n8n-postgresql-18-cluster.yaml +++ b/clusters/cl01tl/manifests/n8n/Cluster-n8n-postgresql-18-cluster.yaml @@ -4,11 +4,11 @@ metadata: name: n8n-postgresql-18-cluster namespace: n8n labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: n8n-postgresql-18 app.kubernetes.io/instance: n8n app.kubernetes.io/part-of: n8n - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: instances: 3 diff --git a/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-backup-garage-local-secret.yaml b/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-backup-garage-local-secret.yaml new file mode 100644 index 000000000..4368440c7 --- /dev/null +++ b/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-backup-garage-local-secret.yaml @@ -0,0 +1,39 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: n8n-postgresql-18-backup-garage-local-secret + namespace: n8n + labels: + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: n8n-postgresql-18 + app.kubernetes.io/instance: n8n + app.kubernetes.io/part-of: n8n + app.kubernetes.io/version: "7.4.3" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: n8n-postgresql-18-backup-garage-local-secret +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: ACCESS_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_REGION + - secretKey: ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_KEY_ID + - secretKey: ACCESS_SECRET_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-cluster-backup-secret.yaml b/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-cluster-backup-secret.yaml deleted file mode 100644 index 2a1442e92..000000000 --- a/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-cluster-backup-secret.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: n8n-postgresql-18-cluster-backup-secret - namespace: n8n - labels: - app.kubernetes.io/name: n8n-postgresql-18-cluster-backup-secret - app.kubernetes.io/instance: n8n - app.kubernetes.io/part-of: n8n -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: ACCESS_KEY_ID - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: access - - secretKey: ACCESS_SECRET_KEY - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: secret diff --git a/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-cluster-backup-secret-garage.yaml b/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-recovery-secret.yaml similarity index 77% rename from clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-cluster-backup-secret-garage.yaml rename to clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-recovery-secret.yaml index ffa220b9d..bfaaff032 100644 --- a/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-cluster-backup-secret-garage.yaml +++ b/clusters/cl01tl/manifests/n8n/ExternalSecret-n8n-postgresql-18-recovery-secret.yaml @@ -1,17 +1,28 @@ apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: - name: n8n-postgresql-18-cluster-backup-secret-garage + name: n8n-postgresql-18-recovery-secret namespace: n8n labels: - app.kubernetes.io/name: n8n-postgresql-18-cluster-backup-secret-garage + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: n8n-postgresql-18 app.kubernetes.io/instance: n8n app.kubernetes.io/part-of: n8n + app.kubernetes.io/version: "7.4.3" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: n8n-postgresql-18-recovery-secret spec: secretStoreRef: kind: ClusterSecretStore name: vault data: + - secretKey: ACCESS_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_REGION - secretKey: ACCESS_KEY_ID remoteRef: conversionStrategy: Default @@ -26,10 +37,3 @@ spec: key: /garage/home-infra/postgres-backups metadataPolicy: None property: ACCESS_SECRET_KEY - - secretKey: ACCESS_REGION - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /garage/home-infra/postgres-backups - metadataPolicy: None - property: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/n8n/HTTPRoute-http-route-n8n.yaml b/clusters/cl01tl/manifests/n8n/HTTPRoute-n8n.yaml similarity index 73% rename from clusters/cl01tl/manifests/n8n/HTTPRoute-http-route-n8n.yaml rename to clusters/cl01tl/manifests/n8n/HTTPRoute-n8n.yaml index 324bb3a1f..7cbf7d7e6 100644 --- a/clusters/cl01tl/manifests/n8n/HTTPRoute-http-route-n8n.yaml +++ b/clusters/cl01tl/manifests/n8n/HTTPRoute-n8n.yaml @@ -1,12 +1,13 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: - name: http-route-n8n - namespace: n8n + name: n8n labels: - app.kubernetes.io/name: http-route-n8n app.kubernetes.io/instance: n8n - app.kubernetes.io/part-of: n8n + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: n8n + helm.sh/chart: n8n-4.5.0 + namespace: n8n spec: parentRefs: - group: gateway.networking.k8s.io @@ -14,22 +15,30 @@ spec: name: traefik-gateway namespace: traefik hostnames: - - n8n.alexlebens.net + - "n8n.alexlebens.net" rules: - - matches: + - backendRefs: + - group: "" + kind: Service + name: n8n-main + namespace: n8n + port: 80 + weight: 100 + matches: - path: type: PathPrefix value: / - path: type: PathPrefix value: /webhook-test/ - backendRefs: - - group: '' + - backendRefs: + - group: "" kind: Service - name: n8n-main + name: n8n-webhook + namespace: n8n port: 80 weight: 100 - - matches: + matches: - path: type: PathPrefix value: /webhook/ @@ -39,9 +48,3 @@ spec: - path: type: PathPrefix value: /form/ - backendRefs: - - group: '' - kind: Service - name: n8n-webhook - port: 80 - weight: 100 diff --git a/clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-garage-local-backup.yaml b/clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-backup-garage-local.yaml similarity index 58% rename from clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-garage-local-backup.yaml rename to clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-backup-garage-local.yaml index a67c1b39d..e7e05dd73 100644 --- a/clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-garage-local-backup.yaml +++ b/clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-backup-garage-local.yaml @@ -1,27 +1,28 @@ apiVersion: barmancloud.cnpg.io/v1 kind: ObjectStore metadata: - name: "n8n-postgresql-18-garage-local-backup" + name: n8n-postgresql-18-backup-garage-local namespace: n8n labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: n8n-postgresql-18 app.kubernetes.io/instance: n8n app.kubernetes.io/part-of: n8n - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: n8n-postgresql-18-backup-garage-local spec: - retentionPolicy: 3d + retentionPolicy: 7d configuration: destinationPath: s3://postgres-backups/cl01tl/n8n/n8n-postgresql-18-cluster endpointURL: http://garage-main.garage:3900 s3Credentials: accessKeyId: - name: n8n-postgresql-18-cluster-backup-secret-garage + name: n8n-postgresql-18-backup-garage-local-secret key: ACCESS_KEY_ID secretAccessKey: - name: n8n-postgresql-18-cluster-backup-secret-garage + name: n8n-postgresql-18-backup-garage-local-secret key: ACCESS_SECRET_KEY region: - name: n8n-postgresql-18-cluster-backup-secret-garage + name: n8n-postgresql-18-backup-garage-local-secret key: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-recovery.yaml b/clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-recovery.yaml index 784b89422..c6f226bc8 100644 --- a/clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-recovery.yaml +++ b/clusters/cl01tl/manifests/n8n/ObjectStore-n8n-postgresql-18-recovery.yaml @@ -4,12 +4,13 @@ metadata: name: "n8n-postgresql-18-recovery" namespace: n8n labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: n8n-postgresql-18 app.kubernetes.io/instance: n8n app.kubernetes.io/part-of: n8n - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: "n8n-postgresql-18-recovery" spec: configuration: destinationPath: s3://postgres-backups/cl01tl/n8n/n8n-postgresql-18-cluster @@ -22,8 +23,11 @@ spec: jobs: 1 s3Credentials: accessKeyId: - name: n8n-postgresql-18-cluster-backup-secret-garage + name: n8n-postgresql-18-recovery-secret key: ACCESS_KEY_ID secretAccessKey: - name: n8n-postgresql-18-cluster-backup-secret-garage + name: n8n-postgresql-18-recovery-secret key: ACCESS_SECRET_KEY + region: + name: n8n-postgresql-18-recovery-secret + key: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/n8n/PrometheusRule-n8n-postgresql-18-alert-rules.yaml b/clusters/cl01tl/manifests/n8n/PrometheusRule-n8n-postgresql-18-alert-rules.yaml index 6b2397df8..e098dce5e 100644 --- a/clusters/cl01tl/manifests/n8n/PrometheusRule-n8n-postgresql-18-alert-rules.yaml +++ b/clusters/cl01tl/manifests/n8n/PrometheusRule-n8n-postgresql-18-alert-rules.yaml @@ -4,11 +4,11 @@ metadata: name: n8n-postgresql-18-alert-rules namespace: n8n labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: n8n-postgresql-18 app.kubernetes.io/instance: n8n app.kubernetes.io/part-of: n8n - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: groups: diff --git a/clusters/cl01tl/manifests/n8n/ScheduledBackup-n8n-postgresql-18-live-backup-scheduled-backup.yaml b/clusters/cl01tl/manifests/n8n/ScheduledBackup-n8n-postgresql-18-scheduled-backup-live-backup.yaml similarity index 63% rename from clusters/cl01tl/manifests/n8n/ScheduledBackup-n8n-postgresql-18-live-backup-scheduled-backup.yaml rename to clusters/cl01tl/manifests/n8n/ScheduledBackup-n8n-postgresql-18-scheduled-backup-live-backup.yaml index ee5e4925c..36963e08f 100644 --- a/clusters/cl01tl/manifests/n8n/ScheduledBackup-n8n-postgresql-18-live-backup-scheduled-backup.yaml +++ b/clusters/cl01tl/manifests/n8n/ScheduledBackup-n8n-postgresql-18-scheduled-backup-live-backup.yaml @@ -1,15 +1,16 @@ apiVersion: postgresql.cnpg.io/v1 kind: ScheduledBackup metadata: - name: "n8n-postgresql-18-live-backup-scheduled-backup" + name: "n8n-postgresql-18-scheduled-backup-live-backup" namespace: n8n labels: - helm.sh/chart: postgres-18-cluster-7.1.4 + helm.sh/chart: postgres-18-cluster-7.4.3 app.kubernetes.io/name: n8n-postgresql-18 app.kubernetes.io/instance: n8n app.kubernetes.io/part-of: n8n - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: "n8n-postgresql-18-scheduled-backup-live-backup" spec: immediate: true suspend: false @@ -21,4 +22,4 @@ spec: pluginConfiguration: name: barman-cloud.cloudnative-pg.io parameters: - barmanObjectName: "n8n-postgresql-18-garage-local-backup" + barmanObjectName: "n8n-postgresql-18-backup-garage-local" diff --git a/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-main.yaml b/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-main.yaml index 6e123e019..1f084a2f7 100644 --- a/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-main.yaml +++ b/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-main.yaml @@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: n8n-main - namespace: n8n labels: - app.kubernetes.io/name: n8n-main app.kubernetes.io/instance: n8n - app.kubernetes.io/part-of: n8n + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: n8n + helm.sh/chart: n8n-4.5.0 + namespace: n8n spec: + jobLabel: "n8n-main" + namespaceSelector: + matchNames: + - n8n selector: matchLabels: + app.kubernetes.io/instance: n8n-main app.kubernetes.io/name: n8n-main - app.kubernetes.io/instance: n8n endpoints: - - port: http - interval: 3m - scrapeTimeout: 1m + - interval: 3m path: /metrics + port: http + scrapeTimeout: 1m diff --git a/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-webhook.yaml b/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-webhook.yaml index 508d03fed..89d800360 100644 --- a/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-webhook.yaml +++ b/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-webhook.yaml @@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: n8n-webhook - namespace: n8n labels: - app.kubernetes.io/name: n8n-webhook app.kubernetes.io/instance: n8n - app.kubernetes.io/part-of: n8n + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: n8n + helm.sh/chart: n8n-4.5.0 + namespace: n8n spec: + jobLabel: "n8n-webhook" + namespaceSelector: + matchNames: + - n8n selector: matchLabels: + app.kubernetes.io/instance: n8n-webhook app.kubernetes.io/name: n8n-webhook - app.kubernetes.io/instance: n8n endpoints: - - port: http - interval: 3m - scrapeTimeout: 1m + - interval: 3m path: /metrics + port: http + scrapeTimeout: 1m diff --git a/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-worker.yaml b/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-worker.yaml index 48e725f43..f2bbf8c8a 100644 --- a/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-worker.yaml +++ b/clusters/cl01tl/manifests/n8n/ServiceMonitor-n8n-worker.yaml @@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: n8n-worker - namespace: n8n labels: - app.kubernetes.io/name: n8n-worker app.kubernetes.io/instance: n8n - app.kubernetes.io/part-of: n8n + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: n8n + helm.sh/chart: n8n-4.5.0 + namespace: n8n spec: + jobLabel: "n8n-worker" + namespaceSelector: + matchNames: + - n8n selector: matchLabels: + app.kubernetes.io/instance: n8n-worker app.kubernetes.io/name: n8n-worker - app.kubernetes.io/instance: n8n endpoints: - - port: http - interval: 3m - scrapeTimeout: 1m + - interval: 3m path: /metrics + port: http + scrapeTimeout: 1m diff --git a/clusters/cl01tl/manifests/ntfy/HTTPRoute-http-route-ntfy.yaml b/clusters/cl01tl/manifests/ntfy/HTTPRoute-ntfy.yaml similarity index 66% rename from clusters/cl01tl/manifests/ntfy/HTTPRoute-http-route-ntfy.yaml rename to clusters/cl01tl/manifests/ntfy/HTTPRoute-ntfy.yaml index 41c22d756..7ff7fe8cf 100644 --- a/clusters/cl01tl/manifests/ntfy/HTTPRoute-http-route-ntfy.yaml +++ b/clusters/cl01tl/manifests/ntfy/HTTPRoute-ntfy.yaml @@ -1,12 +1,13 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: - name: http-route-ntfy - namespace: ntfy + name: ntfy labels: - app.kubernetes.io/name: http-route-ntfy app.kubernetes.io/instance: ntfy - app.kubernetes.io/part-of: ntfy + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: ntfy + helm.sh/chart: ntfy-4.5.0 + namespace: ntfy spec: parentRefs: - group: gateway.networking.k8s.io @@ -14,15 +15,16 @@ spec: name: traefik-gateway namespace: traefik hostnames: - - ntfy.alexlebens.net + - "ntfy.alexlebens.net" rules: - - matches: + - backendRefs: + - group: "" + kind: Service + name: ntfy + namespace: ntfy + port: 80 + weight: 100 + matches: - path: type: PathPrefix value: / - backendRefs: - - group: '' - kind: Service - name: ntfy - port: 80 - weight: 100 diff --git a/clusters/cl01tl/manifests/ntfy/ServiceMonitor-ntfy.yaml b/clusters/cl01tl/manifests/ntfy/ServiceMonitor-ntfy.yaml index 479012756..b87faabb3 100644 --- a/clusters/cl01tl/manifests/ntfy/ServiceMonitor-ntfy.yaml +++ b/clusters/cl01tl/manifests/ntfy/ServiceMonitor-ntfy.yaml @@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: ntfy - namespace: ntfy labels: - app.kubernetes.io/name: ntfy app.kubernetes.io/instance: ntfy - app.kubernetes.io/part-of: ntfy + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: ntfy + helm.sh/chart: ntfy-4.5.0 + namespace: ntfy spec: + jobLabel: "ntfy" + namespaceSelector: + matchNames: + - ntfy selector: matchLabels: - app.kubernetes.io/name: ntfy app.kubernetes.io/instance: ntfy + app.kubernetes.io/name: ntfy endpoints: - - port: metrics - interval: 3m - scrapeTimeout: 1m + - interval: 3m path: /metrics + port: metrics + scrapeTimeout: 1m diff --git a/clusters/cl01tl/manifests/ollama/Cluster-ollama-web-postgresql-18-cluster.yaml b/clusters/cl01tl/manifests/ollama/Cluster-ollama-postgresql-18-cluster.yaml similarity index 71% rename from clusters/cl01tl/manifests/ollama/Cluster-ollama-web-postgresql-18-cluster.yaml rename to clusters/cl01tl/manifests/ollama/Cluster-ollama-postgresql-18-cluster.yaml index 8e157ab2a..5d8738077 100644 --- a/clusters/cl01tl/manifests/ollama/Cluster-ollama-web-postgresql-18-cluster.yaml +++ b/clusters/cl01tl/manifests/ollama/Cluster-ollama-postgresql-18-cluster.yaml @@ -1,14 +1,14 @@ apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: - name: ollama-web-postgresql-18-cluster + name: ollama-postgresql-18-cluster namespace: ollama labels: - helm.sh/chart: postgres-18-cluster-7.1.4 - app.kubernetes.io/name: ollama-web-postgresql-18 + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/instance: ollama app.kubernetes.io/part-of: ollama - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: instances: 3 @@ -49,18 +49,18 @@ spec: enabled: true isWALArchiver: true parameters: - barmanObjectName: "ollama-web-postgresql-18-garage-local-backup" - serverName: "ollama-web-postgresql-18-backup-1" + barmanObjectName: "ollama-postgresql-18-garage-local-backup" + serverName: "ollama-postgresql-18-backup-1" bootstrap: recovery: database: app - source: ollama-web-postgresql-18-backup-1 + source: ollama-postgresql-18-backup-1 externalClusters: - - name: ollama-web-postgresql-18-backup-1 + - name: ollama-postgresql-18-backup-1 plugin: name: barman-cloud.cloudnative-pg.io enabled: true isWALArchiver: false parameters: - barmanObjectName: "ollama-web-postgresql-18-recovery" - serverName: ollama-web-postgresql-18-backup-1 + barmanObjectName: "ollama-postgresql-18-recovery" + serverName: ollama-postgresql-18-backup-1 diff --git a/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-postgresql-18-backup-garage-local-secret.yaml b/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-postgresql-18-backup-garage-local-secret.yaml new file mode 100644 index 000000000..16f1c09bf --- /dev/null +++ b/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-postgresql-18-backup-garage-local-secret.yaml @@ -0,0 +1,39 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: ollama-postgresql-18-backup-garage-local-secret + namespace: ollama + labels: + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: ollama-postgresql-18 + app.kubernetes.io/instance: ollama + app.kubernetes.io/part-of: ollama + app.kubernetes.io/version: "7.4.3" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: ollama-postgresql-18-backup-garage-local-secret +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: ACCESS_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_REGION + - secretKey: ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_KEY_ID + - secretKey: ACCESS_SECRET_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-web-postgresql-18-cluster-backup-secret-garage.yaml b/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-postgresql-18-recovery-secret.yaml similarity index 76% rename from clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-web-postgresql-18-cluster-backup-secret-garage.yaml rename to clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-postgresql-18-recovery-secret.yaml index e57f394ef..b66fd6415 100644 --- a/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-web-postgresql-18-cluster-backup-secret-garage.yaml +++ b/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-postgresql-18-recovery-secret.yaml @@ -1,17 +1,28 @@ apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: - name: ollama-web-postgresql-18-cluster-backup-secret-garage + name: ollama-postgresql-18-recovery-secret namespace: ollama labels: - app.kubernetes.io/name: ollama-web-postgresql-18-cluster-backup-secret-garage + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/instance: ollama app.kubernetes.io/part-of: ollama + app.kubernetes.io/version: "7.4.3" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: ollama-postgresql-18-recovery-secret spec: secretStoreRef: kind: ClusterSecretStore name: vault data: + - secretKey: ACCESS_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/postgres-backups + metadataPolicy: None + property: ACCESS_REGION - secretKey: ACCESS_KEY_ID remoteRef: conversionStrategy: Default @@ -26,10 +37,3 @@ spec: key: /garage/home-infra/postgres-backups metadataPolicy: None property: ACCESS_SECRET_KEY - - secretKey: ACCESS_REGION - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /garage/home-infra/postgres-backups - metadataPolicy: None - property: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-web-postgresql-18-cluster-backup-secret.yaml b/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-web-postgresql-18-cluster-backup-secret.yaml deleted file mode 100644 index 700f57dbb..000000000 --- a/clusters/cl01tl/manifests/ollama/ExternalSecret-ollama-web-postgresql-18-cluster-backup-secret.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: ollama-web-postgresql-18-cluster-backup-secret - namespace: ollama - labels: - app.kubernetes.io/name: ollama-web-postgresql-18-cluster-backup-secret - app.kubernetes.io/instance: ollama - app.kubernetes.io/part-of: ollama -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: ACCESS_KEY_ID - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: access - - secretKey: ACCESS_SECRET_KEY - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: secret diff --git a/clusters/cl01tl/manifests/ollama/HTTPRoute-http-route-ollama.yaml b/clusters/cl01tl/manifests/ollama/HTTPRoute-ollama.yaml similarity index 65% rename from clusters/cl01tl/manifests/ollama/HTTPRoute-http-route-ollama.yaml rename to clusters/cl01tl/manifests/ollama/HTTPRoute-ollama.yaml index 2692ae757..c5ecb8eb4 100644 --- a/clusters/cl01tl/manifests/ollama/HTTPRoute-http-route-ollama.yaml +++ b/clusters/cl01tl/manifests/ollama/HTTPRoute-ollama.yaml @@ -1,12 +1,13 @@ apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: - name: http-route-ollama - namespace: ollama + name: ollama labels: - app.kubernetes.io/name: http-route-ollama app.kubernetes.io/instance: ollama - app.kubernetes.io/part-of: ollama + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: ollama + helm.sh/chart: ollama-4.5.0 + namespace: ollama spec: parentRefs: - group: gateway.networking.k8s.io @@ -14,15 +15,16 @@ spec: name: traefik-gateway namespace: traefik hostnames: - - ollama.alexlebens.net + - "ollama.alexlebens.net" rules: - - matches: + - backendRefs: + - group: "" + kind: Service + name: ollama-web + namespace: ollama + port: 80 + weight: 100 + matches: - path: type: PathPrefix value: / - backendRefs: - - group: '' - kind: Service - name: ollama-web - port: 80 - weight: 100 diff --git a/clusters/cl01tl/manifests/ollama/ObjectStore-ollama-web-postgresql-18-garage-local-backup.yaml b/clusters/cl01tl/manifests/ollama/ObjectStore-ollama-postgresql-18-backup-garage-local.yaml similarity index 51% rename from clusters/cl01tl/manifests/ollama/ObjectStore-ollama-web-postgresql-18-garage-local-backup.yaml rename to clusters/cl01tl/manifests/ollama/ObjectStore-ollama-postgresql-18-backup-garage-local.yaml index 9e65309c1..6dfb88a87 100644 --- a/clusters/cl01tl/manifests/ollama/ObjectStore-ollama-web-postgresql-18-garage-local-backup.yaml +++ b/clusters/cl01tl/manifests/ollama/ObjectStore-ollama-postgresql-18-backup-garage-local.yaml @@ -1,27 +1,28 @@ apiVersion: barmancloud.cnpg.io/v1 kind: ObjectStore metadata: - name: "ollama-web-postgresql-18-garage-local-backup" + name: ollama-postgresql-18-backup-garage-local namespace: ollama labels: - helm.sh/chart: postgres-18-cluster-7.1.4 - app.kubernetes.io/name: ollama-web-postgresql-18 + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/instance: ollama app.kubernetes.io/part-of: ollama - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: ollama-postgresql-18-backup-garage-local spec: - retentionPolicy: 3d + retentionPolicy: 7d configuration: - destinationPath: s3://postgres-backups/cl01tl/ollama/ollama-web-postgresql-18-cluster + destinationPath: s3://postgres-backups/cl01tl/ollama/ollama-postgresql-18-cluster endpointURL: http://garage-main.garage:3900 s3Credentials: accessKeyId: - name: ollama-web-postgresql-18-cluster-backup-secret-garage + name: ollama-postgresql-18-backup-garage-local-secret key: ACCESS_KEY_ID secretAccessKey: - name: ollama-web-postgresql-18-cluster-backup-secret-garage + name: ollama-postgresql-18-backup-garage-local-secret key: ACCESS_SECRET_KEY region: - name: ollama-web-postgresql-18-cluster-backup-secret-garage + name: ollama-postgresql-18-backup-garage-local-secret key: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/ollama/ObjectStore-ollama-web-postgresql-18-recovery.yaml b/clusters/cl01tl/manifests/ollama/ObjectStore-ollama-postgresql-18-recovery.yaml similarity index 55% rename from clusters/cl01tl/manifests/ollama/ObjectStore-ollama-web-postgresql-18-recovery.yaml rename to clusters/cl01tl/manifests/ollama/ObjectStore-ollama-postgresql-18-recovery.yaml index 9bb593f98..ddde954ca 100644 --- a/clusters/cl01tl/manifests/ollama/ObjectStore-ollama-web-postgresql-18-recovery.yaml +++ b/clusters/cl01tl/manifests/ollama/ObjectStore-ollama-postgresql-18-recovery.yaml @@ -1,18 +1,19 @@ apiVersion: barmancloud.cnpg.io/v1 kind: ObjectStore metadata: - name: "ollama-web-postgresql-18-recovery" + name: "ollama-postgresql-18-recovery" namespace: ollama labels: - helm.sh/chart: postgres-18-cluster-7.1.4 - app.kubernetes.io/name: ollama-web-postgresql-18 + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/instance: ollama app.kubernetes.io/part-of: ollama - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: "ollama-postgresql-18-recovery" spec: configuration: - destinationPath: s3://postgres-backups/cl01tl/ollama/ollama-web-postgresql-18-cluster + destinationPath: s3://postgres-backups/cl01tl/ollama/ollama-postgresql-18-cluster endpointURL: http://garage-main.garage:3900 wal: compression: snappy @@ -22,8 +23,11 @@ spec: jobs: 1 s3Credentials: accessKeyId: - name: ollama-web-postgresql-18-cluster-backup-secret-garage + name: ollama-postgresql-18-recovery-secret key: ACCESS_KEY_ID secretAccessKey: - name: ollama-web-postgresql-18-cluster-backup-secret-garage + name: ollama-postgresql-18-recovery-secret key: ACCESS_SECRET_KEY + region: + name: ollama-postgresql-18-recovery-secret + key: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/ollama/PrometheusRule-ollama-web-postgresql-18-alert-rules.yaml b/clusters/cl01tl/manifests/ollama/PrometheusRule-ollama-postgresql-18-alert-rules.yaml similarity index 74% rename from clusters/cl01tl/manifests/ollama/PrometheusRule-ollama-web-postgresql-18-alert-rules.yaml rename to clusters/cl01tl/manifests/ollama/PrometheusRule-ollama-postgresql-18-alert-rules.yaml index 8fb0e0251..81f8b7468 100644 --- a/clusters/cl01tl/manifests/ollama/PrometheusRule-ollama-web-postgresql-18-alert-rules.yaml +++ b/clusters/cl01tl/manifests/ollama/PrometheusRule-ollama-postgresql-18-alert-rules.yaml @@ -1,18 +1,18 @@ apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: - name: ollama-web-postgresql-18-alert-rules + name: ollama-postgresql-18-alert-rules namespace: ollama labels: - helm.sh/chart: postgres-18-cluster-7.1.4 - app.kubernetes.io/name: ollama-web-postgresql-18 + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/instance: ollama app.kubernetes.io/part-of: ollama - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm spec: groups: - - name: cloudnative-pg/ollama-web-postgresql-18 + - name: cloudnative-pg/ollama-postgresql-18 rules: - alert: CNPGClusterBackendsWaitingWarning annotations: @@ -26,7 +26,7 @@ spec: labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterDatabaseDeadlockConflictsWarning annotations: summary: CNPG Cluster has over 10 deadlock conflicts. @@ -39,7 +39,7 @@ spec: labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterHACritical annotations: summary: CNPG Cluster has no standby replicas! @@ -62,7 +62,7 @@ spec: labels: severity: critical namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterHAWarning annotations: summary: CNPG Cluster less than 2 standby replicas. @@ -83,67 +83,67 @@ spec: labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterHighConnectionsCritical annotations: summary: CNPG Instance maximum number of connections critical! description: |- - CloudNativePG Cluster "ollama/ollama-web-postgresql-18-cluster" instance {{`{{`}} $labels.pod {{`}}`}} is using {{`{{`}} $value {{`}}`}}% of + CloudNativePG Cluster "ollama/ollama-postgresql-18-cluster" instance {{`{{`}} $labels.pod {{`}}`}} is using {{`{{`}} $value {{`}}`}}% of the maximum number of connections. runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighConnectionsCritical.md expr: | - sum by (pod) (cnpg_backends_total{namespace="ollama", pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"}) / max by (pod) (cnpg_pg_settings_setting{name="max_connections", namespace="ollama", pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"}) * 100 > 95 + sum by (pod) (cnpg_backends_total{namespace="ollama", pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"}) / max by (pod) (cnpg_pg_settings_setting{name="max_connections", namespace="ollama", pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"}) * 100 > 95 for: 5m labels: severity: critical namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterHighConnectionsWarning annotations: summary: CNPG Instance is approaching the maximum number of connections. description: |- - CloudNativePG Cluster "ollama/ollama-web-postgresql-18-cluster" instance {{`{{`}} $labels.pod {{`}}`}} is using {{`{{`}} $value {{`}}`}}% of + CloudNativePG Cluster "ollama/ollama-postgresql-18-cluster" instance {{`{{`}} $labels.pod {{`}}`}} is using {{`{{`}} $value {{`}}`}}% of the maximum number of connections. runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighConnectionsWarning.md expr: | - sum by (pod) (cnpg_backends_total{namespace="ollama", pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"}) / max by (pod) (cnpg_pg_settings_setting{name="max_connections", namespace="ollama", pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"}) * 100 > 80 + sum by (pod) (cnpg_backends_total{namespace="ollama", pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"}) / max by (pod) (cnpg_pg_settings_setting{name="max_connections", namespace="ollama", pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"}) * 100 > 80 for: 5m labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterHighReplicationLag annotations: summary: CNPG Cluster high replication lag description: |- - CloudNativePG Cluster "ollama/ollama-web-postgresql-18-cluster" is experiencing a high replication lag of + CloudNativePG Cluster "ollama/ollama-postgresql-18-cluster" is experiencing a high replication lag of {{`{{`}} $value {{`}}`}}ms. High replication lag indicates network issues, busy instances, slow queries or suboptimal configuration. runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighReplicationLag.md expr: | - max(cnpg_pg_replication_lag{namespace="ollama",pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"}) * 1000 > 1000 + max(cnpg_pg_replication_lag{namespace="ollama",pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"}) * 1000 > 1000 for: 5m labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterInstancesOnSameNode annotations: summary: CNPG Cluster instances are located on the same node. description: |- - CloudNativePG Cluster "ollama/ollama-web-postgresql-18-cluster" has {{`{{`}} $value {{`}}`}} + CloudNativePG Cluster "ollama/ollama-postgresql-18-cluster" has {{`{{`}} $value {{`}}`}} instances on the same node {{`{{`}} $labels.node {{`}}`}}. A failure or scheduled downtime of a single node will lead to a potential service disruption and/or data loss. runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterInstancesOnSameNode.md expr: | - count by (node) (kube_pod_info{namespace="ollama", pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"}) > 1 + count by (node) (kube_pod_info{namespace="ollama", pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"}) > 1 for: 5m labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterLongRunningTransactionWarning annotations: summary: CNPG Cluster query is taking longer than 5 minutes. @@ -156,65 +156,65 @@ spec: labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterLowDiskSpaceCritical annotations: summary: CNPG Instance is running out of disk space! description: |- - CloudNativePG Cluster "ollama/ollama-web-postgresql-18-cluster" is running extremely low on disk space. Check attached PVCs! + CloudNativePG Cluster "ollama/ollama-postgresql-18-cluster" is running extremely low on disk space. Check attached PVCs! runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterLowDiskSpaceCritical.md expr: | - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"})) > 0.9 OR - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$-wal"})) > 0.9 OR - max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) + max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"})) > 0.9 OR + max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$-wal"})) > 0.9 OR + max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) / - sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) + sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) * on(namespace, persistentvolumeclaim) group_left(volume) - kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"} + kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"} ) > 0.9 for: 5m labels: severity: critical namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterLowDiskSpaceWarning annotations: summary: CNPG Instance is running out of disk space. description: |- - CloudNativePG Cluster "ollama/ollama-web-postgresql-18-cluster" is running low on disk space. Check attached PVCs. + CloudNativePG Cluster "ollama/ollama-postgresql-18-cluster" is running low on disk space. Check attached PVCs. runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterLowDiskSpaceWarning.md expr: | - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"})) > 0.7 OR - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$-wal"})) > 0.7 OR - max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) + max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"})) > 0.7 OR + max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$-wal"})) > 0.7 OR + max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) / - sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) + sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) * on(namespace, persistentvolumeclaim) group_left(volume) - kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"} + kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"} ) > 0.7 for: 5m labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterOffline annotations: summary: CNPG Cluster has no running instances! description: |- - CloudNativePG Cluster "ollama/ollama-web-postgresql-18-cluster" has no ready instances. + CloudNativePG Cluster "ollama/ollama-postgresql-18-cluster" has no ready instances. Having an offline cluster means your applications will not be able to access the database, leading to potential service disruption and/or data loss. runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterOffline.md expr: | - (count(cnpg_collector_up{namespace="ollama",pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"}) OR on() vector(0)) == 0 + (count(cnpg_collector_up{namespace="ollama",pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"}) OR on() vector(0)) == 0 for: 5m labels: severity: critical namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterPGDatabaseXidAgeWarning annotations: summary: CNPG Cluster has a number of transactions from the frozen XID to the current one. @@ -227,7 +227,7 @@ spec: labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterPGReplicationWarning annotations: summary: CNPG Cluster standby is lagging behind the primary. @@ -239,7 +239,7 @@ spec: labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterReplicaFailingReplicationWarning annotations: summary: CNPG Cluster has a replica is failing to replicate. @@ -252,19 +252,19 @@ spec: labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster - alert: CNPGClusterZoneSpreadWarning annotations: summary: CNPG Cluster instances in the same zone. description: |- - CloudNativePG Cluster "ollama/ollama-web-postgresql-18-cluster" has instances in the same availability zone. + CloudNativePG Cluster "ollama/ollama-postgresql-18-cluster" has instances in the same availability zone. A disaster in one availability zone will lead to a potential service disruption and/or data loss. runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterZoneSpreadWarning.md expr: | - 3 > count(count by (label_topology_kubernetes_io_zone) (kube_pod_info{namespace="ollama", pod=~"ollama-web-postgresql-18-cluster-([1-9][0-9]*)$"} * on(node,instance) group_left(label_topology_kubernetes_io_zone) kube_node_labels)) < 3 + 3 > count(count by (label_topology_kubernetes_io_zone) (kube_pod_info{namespace="ollama", pod=~"ollama-postgresql-18-cluster-([1-9][0-9]*)$"} * on(node,instance) group_left(label_topology_kubernetes_io_zone) kube_node_labels)) < 3 for: 5m labels: severity: warning namespace: ollama - cnpg_cluster: ollama-web-postgresql-18-cluster + cnpg_cluster: ollama-postgresql-18-cluster diff --git a/clusters/cl01tl/manifests/ollama/ScheduledBackup-ollama-web-postgresql-18-live-backup-scheduled-backup.yaml b/clusters/cl01tl/manifests/ollama/ScheduledBackup-ollama-postgresql-18-scheduled-backup-live-backup.yaml similarity index 52% rename from clusters/cl01tl/manifests/ollama/ScheduledBackup-ollama-web-postgresql-18-live-backup-scheduled-backup.yaml rename to clusters/cl01tl/manifests/ollama/ScheduledBackup-ollama-postgresql-18-scheduled-backup-live-backup.yaml index 35f7b7a3c..24e899043 100644 --- a/clusters/cl01tl/manifests/ollama/ScheduledBackup-ollama-web-postgresql-18-live-backup-scheduled-backup.yaml +++ b/clusters/cl01tl/manifests/ollama/ScheduledBackup-ollama-postgresql-18-scheduled-backup-live-backup.yaml @@ -1,24 +1,25 @@ apiVersion: postgresql.cnpg.io/v1 kind: ScheduledBackup metadata: - name: "ollama-web-postgresql-18-live-backup-scheduled-backup" + name: "ollama-postgresql-18-scheduled-backup-live-backup" namespace: ollama labels: - helm.sh/chart: postgres-18-cluster-7.1.4 - app.kubernetes.io/name: ollama-web-postgresql-18 + helm.sh/chart: postgres-18-cluster-7.4.3 + app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/instance: ollama app.kubernetes.io/part-of: ollama - app.kubernetes.io/version: "7.1.4" + app.kubernetes.io/version: "7.4.3" app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: "ollama-postgresql-18-scheduled-backup-live-backup" spec: immediate: true suspend: false schedule: "0 0 0 * * *" backupOwnerReference: self cluster: - name: ollama-web-postgresql-18-cluster + name: ollama-postgresql-18-cluster method: plugin pluginConfiguration: name: barman-cloud.cloudnative-pg.io parameters: - barmanObjectName: "ollama-web-postgresql-18-garage-local-backup" + barmanObjectName: "ollama-postgresql-18-backup-garage-local" -- 2.49.1 From 4e315ba2492dc64a05981857260ea4eccd0e8e72 Mon Sep 17 00:00:00 2001 From: gitea-bot Date: Wed, 24 Dec 2025 04:49:58 +0000 Subject: [PATCH 3/3] chore: Update manifests after change --- ...resql-18-cluster-backup-secret-garage.yaml | 35 ------------------- ...e-postgresql-18-cluster-backup-secret.yaml | 28 --------------- 2 files changed, 63 deletions(-) delete mode 100644 clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-cluster-backup-secret-garage.yaml delete mode 100644 clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-cluster-backup-secret.yaml diff --git a/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-cluster-backup-secret-garage.yaml b/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-cluster-backup-secret-garage.yaml deleted file mode 100644 index 046491c35..000000000 --- a/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-cluster-backup-secret-garage.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: matrix-synapse-postgresql-18-cluster-backup-secret-garage - namespace: matrix-synapse - labels: - app.kubernetes.io/name: matrix-synapse-postgresql-18-cluster-backup-secret-garage - app.kubernetes.io/instance: matrix-synapse - app.kubernetes.io/part-of: matrix-synapse -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: ACCESS_KEY_ID - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /garage/home-infra/postgres-backups - metadataPolicy: None - property: ACCESS_KEY_ID - - secretKey: ACCESS_SECRET_KEY - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /garage/home-infra/postgres-backups - metadataPolicy: None - property: ACCESS_SECRET_KEY - - secretKey: ACCESS_REGION - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /garage/home-infra/postgres-backups - metadataPolicy: None - property: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-cluster-backup-secret.yaml b/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-cluster-backup-secret.yaml deleted file mode 100644 index c40dc24ee..000000000 --- a/clusters/cl01tl/manifests/matrix-synapse/ExternalSecret-matrix-synapse-postgresql-18-cluster-backup-secret.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: matrix-synapse-postgresql-18-cluster-backup-secret - namespace: matrix-synapse - labels: - app.kubernetes.io/name: matrix-synapse-postgresql-18-cluster-backup-secret - app.kubernetes.io/instance: matrix-synapse - app.kubernetes.io/part-of: matrix-synapse -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: ACCESS_KEY_ID - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: access - - secretKey: ACCESS_SECRET_KEY - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: secret -- 2.49.1