chore: Update manifests after change

This commit is contained in:
2025-12-24 04:44:16 +00:00
parent 8bfa05e807
commit 93ef3b3c00
24 changed files with 308 additions and 239 deletions

View File

@@ -19,7 +19,7 @@ spec:
name: traefik-gateway
namespace: traefik
hostnames:
- alertmanager.alexlebens.net
- prometheus.alexlebens.net
rules:
- backendRefs:
- name: kube-prometheus-stack-prometheus

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"