From 3881200f00e808e155735fb2e3046714e6a5e7bc Mon Sep 17 00:00:00 2001 From: gitea-bot Date: Fri, 12 Dec 2025 03:58:33 +0000 Subject: [PATCH 1/2] chore: Update manifests after change --- .../cl01tl/manifests/immich/HTTPRoute-http-route-immich.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clusters/cl01tl/manifests/immich/HTTPRoute-http-route-immich.yaml b/clusters/cl01tl/manifests/immich/HTTPRoute-http-route-immich.yaml index d58d9b243..09b7cc5e7 100644 --- a/clusters/cl01tl/manifests/immich/HTTPRoute-http-route-immich.yaml +++ b/clusters/cl01tl/manifests/immich/HTTPRoute-http-route-immich.yaml @@ -23,6 +23,6 @@ spec: backendRefs: - group: '' kind: Service - name: immich-main + name: immich port: 2283 weight: 100 -- 2.49.1 From 64da488a3f6a0812cd80bd26c0234debaac39169 Mon Sep 17 00:00:00 2001 From: gitea-bot Date: Fri, 12 Dec 2025 04:00:37 +0000 Subject: [PATCH 2/2] chore: Update manifests after change --- .../Cluster-immich-postgresql-17-cluster.yaml | 81 ------ ...resql-17-cluster-backup-secret-garage.yaml | 35 --- ...h-postgresql-17-cluster-backup-secret.yaml | 28 -- ...-immich-postgresql-17-external-backup.yaml | 24 -- ...ich-postgresql-17-garage-local-backup.yaml | 27 -- ...ctStore-immich-postgresql-17-recovery.yaml | 29 -- ...Rule-immich-postgresql-17-alert-rules.yaml | 270 ------------------ ...esql-17-daily-backup-scheduled-backup.yaml | 24 -- ...resql-17-live-backup-scheduled-backup.yaml | 24 -- 9 files changed, 542 deletions(-) delete mode 100644 clusters/cl01tl/manifests/immich/Cluster-immich-postgresql-17-cluster.yaml delete mode 100644 clusters/cl01tl/manifests/immich/ExternalSecret-immich-postgresql-17-cluster-backup-secret-garage.yaml delete mode 100644 clusters/cl01tl/manifests/immich/ExternalSecret-immich-postgresql-17-cluster-backup-secret.yaml delete mode 100644 clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-external-backup.yaml delete mode 100644 clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-garage-local-backup.yaml delete mode 100644 clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-recovery.yaml delete mode 100644 clusters/cl01tl/manifests/immich/PrometheusRule-immich-postgresql-17-alert-rules.yaml delete mode 100644 clusters/cl01tl/manifests/immich/ScheduledBackup-immich-postgresql-17-daily-backup-scheduled-backup.yaml delete mode 100644 clusters/cl01tl/manifests/immich/ScheduledBackup-immich-postgresql-17-live-backup-scheduled-backup.yaml diff --git a/clusters/cl01tl/manifests/immich/Cluster-immich-postgresql-17-cluster.yaml b/clusters/cl01tl/manifests/immich/Cluster-immich-postgresql-17-cluster.yaml deleted file mode 100644 index 52c316685..000000000 --- a/clusters/cl01tl/manifests/immich/Cluster-immich-postgresql-17-cluster.yaml +++ /dev/null @@ -1,81 +0,0 @@ -apiVersion: postgresql.cnpg.io/v1 -kind: Cluster -metadata: - name: immich-postgresql-17-cluster - namespace: immich - labels: - helm.sh/chart: postgres-17-cluster-6.16.1 - app.kubernetes.io/name: immich-postgresql-17 - app.kubernetes.io/instance: immich - app.kubernetes.io/part-of: immich - app.kubernetes.io/version: "6.16.1" - app.kubernetes.io/managed-by: Helm -spec: - instances: 3 - imageName: "ghcr.io/tensorchord/cloudnative-vectorchord:17.5-0.4.3" - imagePullPolicy: IfNotPresent - postgresUID: 26 - postgresGID: 26 - plugins: - - name: barman-cloud.cloudnative-pg.io - enabled: true - isWALArchiver: false - parameters: - barmanObjectName: "immich-postgresql-17-external-backup" - serverName: "immich-postgresql-17-backup-2" - - name: barman-cloud.cloudnative-pg.io - enabled: true - isWALArchiver: true - parameters: - barmanObjectName: "immich-postgresql-17-garage-local-backup" - serverName: "immich-postgresql-17-backup-1" - externalClusters: - - name: recovery - plugin: - name: barman-cloud.cloudnative-pg.io - parameters: - barmanObjectName: "immich-postgresql-17-recovery" - serverName: immich-postgresql-17-backup-1 - storage: - size: 10Gi - storageClass: local-path - walStorage: - size: 2Gi - storageClass: local-path - resources: - limits: - hugepages-2Mi: 256Mi - requests: - cpu: 100m - memory: 256Mi - affinity: - enablePodAntiAffinity: true - topologyKey: kubernetes.io/hostname - primaryUpdateMethod: switchover - primaryUpdateStrategy: unsupervised - logLevel: info - enableSuperuserAccess: false - enablePDB: true - postgresql: - shared_preload_libraries: - - vchord.so - parameters: - hot_standby_feedback: "on" - max_slot_wal_keep_size: 2000MB - shared_buffers: 256MB - monitoring: - enablePodMonitor: true - disableDefaultQueries: false - bootstrap: - recovery: - database: app - source: immich-postgresql-17-backup-1 - externalClusters: - - name: immich-postgresql-17-backup-1 - plugin: - name: barman-cloud.cloudnative-pg.io - enabled: true - isWALArchiver: false - parameters: - barmanObjectName: "immich-postgresql-17-recovery" - serverName: immich-postgresql-17-backup-1 diff --git a/clusters/cl01tl/manifests/immich/ExternalSecret-immich-postgresql-17-cluster-backup-secret-garage.yaml b/clusters/cl01tl/manifests/immich/ExternalSecret-immich-postgresql-17-cluster-backup-secret-garage.yaml deleted file mode 100644 index f9a6a5929..000000000 --- a/clusters/cl01tl/manifests/immich/ExternalSecret-immich-postgresql-17-cluster-backup-secret-garage.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: immich-postgresql-17-cluster-backup-secret-garage - namespace: immich - labels: - app.kubernetes.io/name: immich-postgresql-17-cluster-backup-secret-garage - app.kubernetes.io/instance: immich - app.kubernetes.io/part-of: immich -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/immich/ExternalSecret-immich-postgresql-17-cluster-backup-secret.yaml b/clusters/cl01tl/manifests/immich/ExternalSecret-immich-postgresql-17-cluster-backup-secret.yaml deleted file mode 100644 index ce4126068..000000000 --- a/clusters/cl01tl/manifests/immich/ExternalSecret-immich-postgresql-17-cluster-backup-secret.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: immich-postgresql-17-cluster-backup-secret - namespace: immich - labels: - app.kubernetes.io/name: immich-postgresql-17-cluster-backup-secret - app.kubernetes.io/instance: immich - app.kubernetes.io/part-of: immich -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/immich/ObjectStore-immich-postgresql-17-external-backup.yaml b/clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-external-backup.yaml deleted file mode 100644 index 1de773741..000000000 --- a/clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-external-backup.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: barmancloud.cnpg.io/v1 -kind: ObjectStore -metadata: - name: "immich-postgresql-17-external-backup" - namespace: immich - labels: - helm.sh/chart: postgres-17-cluster-6.16.1 - app.kubernetes.io/name: immich-postgresql-17 - app.kubernetes.io/instance: immich - app.kubernetes.io/part-of: immich - app.kubernetes.io/version: "6.16.1" - app.kubernetes.io/managed-by: Helm -spec: - retentionPolicy: 30d - configuration: - destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster - endpointURL: https://nyc3.digitaloceanspaces.com - s3Credentials: - accessKeyId: - name: immich-postgresql-17-cluster-backup-secret - key: ACCESS_KEY_ID - secretAccessKey: - name: immich-postgresql-17-cluster-backup-secret - key: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-garage-local-backup.yaml b/clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-garage-local-backup.yaml deleted file mode 100644 index 1492f085b..000000000 --- a/clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-garage-local-backup.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: barmancloud.cnpg.io/v1 -kind: ObjectStore -metadata: - name: "immich-postgresql-17-garage-local-backup" - namespace: immich - labels: - helm.sh/chart: postgres-17-cluster-6.16.1 - app.kubernetes.io/name: immich-postgresql-17 - app.kubernetes.io/instance: immich - app.kubernetes.io/part-of: immich - app.kubernetes.io/version: "6.16.1" - app.kubernetes.io/managed-by: Helm -spec: - retentionPolicy: 3d - configuration: - destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster - endpointURL: http://garage-main.garage:3900 - s3Credentials: - accessKeyId: - name: immich-postgresql-17-cluster-backup-secret-garage - key: ACCESS_KEY_ID - secretAccessKey: - name: immich-postgresql-17-cluster-backup-secret-garage - key: ACCESS_SECRET_KEY - region: - name: immich-postgresql-17-cluster-backup-secret-garage - key: ACCESS_REGION diff --git a/clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-recovery.yaml b/clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-recovery.yaml deleted file mode 100644 index 8b72b5a27..000000000 --- a/clusters/cl01tl/manifests/immich/ObjectStore-immich-postgresql-17-recovery.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: barmancloud.cnpg.io/v1 -kind: ObjectStore -metadata: - name: "immich-postgresql-17-recovery" - namespace: immich - labels: - helm.sh/chart: postgres-17-cluster-6.16.1 - app.kubernetes.io/name: immich-postgresql-17 - app.kubernetes.io/instance: immich - app.kubernetes.io/part-of: immich - app.kubernetes.io/version: "6.16.1" - app.kubernetes.io/managed-by: Helm -spec: - configuration: - destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster - endpointURL: http://garage-main.garage:3900 - wal: - compression: snappy - maxParallel: 1 - data: - compression: snappy - jobs: 1 - s3Credentials: - accessKeyId: - name: immich-postgresql-17-cluster-backup-secret-garage - key: ACCESS_KEY_ID - secretAccessKey: - name: immich-postgresql-17-cluster-backup-secret-garage - key: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/immich/PrometheusRule-immich-postgresql-17-alert-rules.yaml b/clusters/cl01tl/manifests/immich/PrometheusRule-immich-postgresql-17-alert-rules.yaml deleted file mode 100644 index bcf35f712..000000000 --- a/clusters/cl01tl/manifests/immich/PrometheusRule-immich-postgresql-17-alert-rules.yaml +++ /dev/null @@ -1,270 +0,0 @@ -apiVersion: monitoring.coreos.com/v1 -kind: PrometheusRule -metadata: - name: immich-postgresql-17-alert-rules - namespace: immich - labels: - helm.sh/chart: postgres-17-cluster-6.16.1 - app.kubernetes.io/name: immich-postgresql-17 - app.kubernetes.io/instance: immich - app.kubernetes.io/part-of: immich - app.kubernetes.io/version: "6.16.1" - app.kubernetes.io/managed-by: Helm -spec: - groups: - - name: cloudnative-pg/immich-postgresql-17 - rules: - - alert: CNPGClusterBackendsWaitingWarning - annotations: - summary: CNPG Cluster a backend is waiting for longer than 5 minutes. - description: |- - Pod {{ $labels.pod }} - has been waiting for longer than 5 minutes - expr: | - cnpg_backends_waiting_total > 300 - for: 1m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterDatabaseDeadlockConflictsWarning - annotations: - summary: CNPG Cluster has over 10 deadlock conflicts. - description: |- - There are over 10 deadlock conflicts in - {{ $labels.pod }} - expr: | - cnpg_pg_stat_database_deadlocks > 10 - for: 1m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterHACritical - annotations: - summary: CNPG Cluster has no standby replicas! - description: |- - CloudNativePG Cluster "{{`{{`}} $labels.job {{`}}`}}" has no ready standby replicas. Your cluster at a severe - risk of data loss and downtime if the primary instance fails. - - The primary instance is still online and able to serve queries, although connections to the `-ro` endpoint - will fail. The `-r` endpoint os operating at reduced capacity and all traffic is being served by the main. - - This can happen during a normal fail-over or automated minor version upgrades in a cluster with 2 or less - instances. The replaced instance may need some time to catch-up with the cluster primary instance. - - This alarm will be always trigger if your cluster is configured to run with only 1 instance. In this - case you may want to silence it. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHACritical.md - expr: | - max by (job) (cnpg_pg_replication_streaming_replicas{namespace="immich"} - cnpg_pg_replication_is_wal_receiver_up{namespace="immich"}) < 1 - for: 5m - labels: - severity: critical - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterHAWarning - annotations: - summary: CNPG Cluster less than 2 standby replicas. - description: |- - CloudNativePG Cluster "{{`{{`}} $labels.job {{`}}`}}" has only {{`{{`}} $value {{`}}`}} standby replicas, putting - your cluster at risk if another instance fails. The cluster is still able to operate normally, although - the `-ro` and `-r` endpoints operate at reduced capacity. - - This can happen during a normal fail-over or automated minor version upgrades. The replaced instance may - need some time to catch-up with the cluster primary instance. - - This alarm will be constantly triggered if your cluster is configured to run with less than 3 instances. - In this case you may want to silence it. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHAWarning.md - expr: | - max by (job) (cnpg_pg_replication_streaming_replicas{namespace="immich"} - cnpg_pg_replication_is_wal_receiver_up{namespace="immich"}) < 2 - for: 5m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterHighConnectionsCritical - annotations: - summary: CNPG Instance maximum number of connections critical! - description: |- - CloudNativePG Cluster "immich/immich-postgresql-17-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="immich", pod=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"}) / max by (pod) (cnpg_pg_settings_setting{name="max_connections", namespace="immich", pod=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"}) * 100 > 95 - for: 5m - labels: - severity: critical - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterHighConnectionsWarning - annotations: - summary: CNPG Instance is approaching the maximum number of connections. - description: |- - CloudNativePG Cluster "immich/immich-postgresql-17-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="immich", pod=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"}) / max by (pod) (cnpg_pg_settings_setting{name="max_connections", namespace="immich", pod=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"}) * 100 > 80 - for: 5m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterHighReplicationLag - annotations: - summary: CNPG Cluster high replication lag - description: |- - CloudNativePG Cluster "immich/immich-postgresql-17-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="immich",pod=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"}) * 1000 > 1000 - for: 5m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterInstancesOnSameNode - annotations: - summary: CNPG Cluster instances are located on the same node. - description: |- - CloudNativePG Cluster "immich/immich-postgresql-17-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="immich", pod=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"}) > 1 - for: 5m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterLongRunningTransactionWarning - annotations: - summary: CNPG Cluster query is taking longer than 5 minutes. - description: |- - CloudNativePG Cluster Pod {{ $labels.pod }} - is taking more than 5 minutes (300 seconds) for a query. - expr: |- - cnpg_backends_max_tx_duration_seconds > 300 - for: 1m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterLowDiskSpaceCritical - annotations: - summary: CNPG Instance is running out of disk space! - description: |- - CloudNativePG Cluster "immich/immich-postgresql-17-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="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"} / kubelet_volume_stats_capacity_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"})) > 0.9 OR - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$-wal"})) > 0.9 OR - max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$-tbs.*"}) - / - sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$-tbs.*"}) - * - on(namespace, persistentvolumeclaim) group_left(volume) - kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"} - ) > 0.9 - for: 5m - labels: - severity: critical - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterLowDiskSpaceWarning - annotations: - summary: CNPG Instance is running out of disk space. - description: |- - CloudNativePG Cluster "immich/immich-postgresql-17-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="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"} / kubelet_volume_stats_capacity_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"})) > 0.7 OR - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$-wal"})) > 0.7 OR - max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$-tbs.*"}) - / - sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="immich", persistentvolumeclaim=~"immich-postgresql-17-cluster-([1-9][0-9]*)$-tbs.*"}) - * - on(namespace, persistentvolumeclaim) group_left(volume) - kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"} - ) > 0.7 - for: 5m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterOffline - annotations: - summary: CNPG Cluster has no running instances! - description: |- - CloudNativePG Cluster "immich/immich-postgresql-17-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="immich",pod=~"immich-postgresql-17-cluster-([1-9][0-9]*)$"}) OR on() vector(0)) == 0 - for: 5m - labels: - severity: critical - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterPGDatabaseXidAgeWarning - annotations: - summary: CNPG Cluster has a number of transactions from the frozen XID to the current one. - description: |- - Over 300,000,000 transactions from frozen xid - on pod {{ $labels.pod }} - expr: | - cnpg_pg_database_xid_age > 300000000 - for: 1m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterPGReplicationWarning - annotations: - summary: CNPG Cluster standby is lagging behind the primary. - description: |- - Standby is lagging behind by over 300 seconds (5 minutes) - expr: | - cnpg_pg_replication_lag > 300 - for: 1m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterReplicaFailingReplicationWarning - annotations: - summary: CNPG Cluster has a replica is failing to replicate. - description: |- - Replica {{ $labels.pod }} - is failing to replicate - expr: | - cnpg_pg_replication_in_recovery > cnpg_pg_replication_is_wal_receiver_up - for: 1m - labels: - severity: warning - namespace: immich - cnpg_cluster: immich-postgresql-17-cluster - - alert: CNPGClusterZoneSpreadWarning - annotations: - summary: CNPG Cluster instances in the same zone. - description: |- - CloudNativePG Cluster "immich/immich-postgresql-17-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="immich", pod=~"immich-postgresql-17-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: immich - cnpg_cluster: immich-postgresql-17-cluster diff --git a/clusters/cl01tl/manifests/immich/ScheduledBackup-immich-postgresql-17-daily-backup-scheduled-backup.yaml b/clusters/cl01tl/manifests/immich/ScheduledBackup-immich-postgresql-17-daily-backup-scheduled-backup.yaml deleted file mode 100644 index 8f8cd9ae2..000000000 --- a/clusters/cl01tl/manifests/immich/ScheduledBackup-immich-postgresql-17-daily-backup-scheduled-backup.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: postgresql.cnpg.io/v1 -kind: ScheduledBackup -metadata: - name: "immich-postgresql-17-daily-backup-scheduled-backup" - namespace: immich - labels: - helm.sh/chart: postgres-17-cluster-6.16.1 - app.kubernetes.io/name: immich-postgresql-17 - app.kubernetes.io/instance: immich - app.kubernetes.io/part-of: immich - app.kubernetes.io/version: "6.16.1" - app.kubernetes.io/managed-by: Helm -spec: - immediate: false - suspend: false - schedule: "0 0 0 * * *" - backupOwnerReference: self - cluster: - name: immich-postgresql-17-cluster - method: plugin - pluginConfiguration: - name: barman-cloud.cloudnative-pg.io - parameters: - barmanObjectName: "immich-postgresql-17-external-backup" diff --git a/clusters/cl01tl/manifests/immich/ScheduledBackup-immich-postgresql-17-live-backup-scheduled-backup.yaml b/clusters/cl01tl/manifests/immich/ScheduledBackup-immich-postgresql-17-live-backup-scheduled-backup.yaml deleted file mode 100644 index 7772f7a27..000000000 --- a/clusters/cl01tl/manifests/immich/ScheduledBackup-immich-postgresql-17-live-backup-scheduled-backup.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: postgresql.cnpg.io/v1 -kind: ScheduledBackup -metadata: - name: "immich-postgresql-17-live-backup-scheduled-backup" - namespace: immich - labels: - helm.sh/chart: postgres-17-cluster-6.16.1 - app.kubernetes.io/name: immich-postgresql-17 - app.kubernetes.io/instance: immich - app.kubernetes.io/part-of: immich - app.kubernetes.io/version: "6.16.1" - app.kubernetes.io/managed-by: Helm -spec: - immediate: true - suspend: false - schedule: "0 0 0 * * *" - backupOwnerReference: self - cluster: - name: immich-postgresql-17-cluster - method: plugin - pluginConfiguration: - name: barman-cloud.cloudnative-pg.io - parameters: - barmanObjectName: "immich-postgresql-17-garage-local-backup" -- 2.49.1