Automated Manifest Update (#2805)

This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow.

Reviewed-on: #2805
Co-authored-by: gitea-bot <gitea-bot@alexlebens.net>
Co-committed-by: gitea-bot <gitea-bot@alexlebens.net>
This commit was merged in pull request #2805.
This commit is contained in:
2025-12-24 04:52:41 +00:00
committed by Alex Lebens
parent e79cfb4b4a
commit 7787ab6f59
48 changed files with 553 additions and 422 deletions

View File

@@ -1,12 +1,17 @@
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: http-route-alertmanager name: kube-prometheus-stack-alertmanager
namespace: kube-prometheus-stack namespace: kube-prometheus-stack
labels: 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/instance: kube-prometheus-stack
app.kubernetes.io/version: "80.6.0"
app.kubernetes.io/part-of: kube-prometheus-stack app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-80.6.0
release: "kube-prometheus-stack"
heritage: "Helm"
spec: spec:
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
@@ -16,13 +21,10 @@ spec:
hostnames: hostnames:
- alertmanager.alexlebens.net - alertmanager.alexlebens.net
rules: rules:
- matches: - backendRefs:
- name: kube-prometheus-stack-alertmanager
port: 9093
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: kube-prometheus-stack-alertmanager
port: 9093
weight: 100

View File

@@ -1,12 +1,17 @@
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: http-route-prometheus name: kube-prometheus-stack-prometheus
namespace: kube-prometheus-stack namespace: kube-prometheus-stack
labels: 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/instance: kube-prometheus-stack
app.kubernetes.io/version: "80.6.0"
app.kubernetes.io/part-of: kube-prometheus-stack app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-80.6.0
release: "kube-prometheus-stack"
heritage: "Helm"
spec: spec:
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
@@ -16,13 +21,10 @@ spec:
hostnames: hostnames:
- prometheus.alexlebens.net - prometheus.alexlebens.net
rules: rules:
- matches: - backendRefs:
- name: kube-prometheus-stack-prometheus
port: 9090
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: prometheus-operated
port: 9090
weight: 100

View File

@@ -4,11 +4,11 @@ metadata:
name: lidarr-postgresql-18-cluster name: lidarr-postgresql-18-cluster
namespace: lidarr namespace: lidarr
labels: 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/name: lidarr-postgresql-18
app.kubernetes.io/instance: lidarr app.kubernetes.io/instance: lidarr
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
instances: 3 instances: 3

View File

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

View File

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

View File

@@ -1,17 +1,28 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: lidarr-postgresql-18-cluster-backup-secret-garage name: lidarr-postgresql-18-recovery-secret
namespace: lidarr namespace: lidarr
labels: 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/instance: lidarr
app.kubernetes.io/part-of: 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: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore
name: vault name: vault
data: data:
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_KEY_ID - secretKey: ACCESS_KEY_ID
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
@@ -26,10 +37,3 @@ spec:
key: /garage/home-infra/postgres-backups key: /garage/home-infra/postgres-backups
metadataPolicy: None metadataPolicy: None
property: ACCESS_SECRET_KEY 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 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: http-route-lidarr name: lidarr
namespace: lidarr
labels: labels:
app.kubernetes.io/name: http-route-lidarr
app.kubernetes.io/instance: 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: spec:
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
@@ -14,15 +15,16 @@ spec:
name: traefik-gateway name: traefik-gateway
namespace: traefik namespace: traefik
hostnames: hostnames:
- lidarr.alexlebens.net - "lidarr.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: lidarr
namespace: lidarr
port: 80
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: lidarr
port: 80
weight: 100

View File

@@ -1,27 +1,28 @@
apiVersion: barmancloud.cnpg.io/v1 apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore kind: ObjectStore
metadata: metadata:
name: "lidarr-postgresql-18-garage-local-backup" name: lidarr-postgresql-18-backup-garage-local
namespace: lidarr namespace: lidarr
labels: 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/name: lidarr-postgresql-18
app.kubernetes.io/instance: lidarr app.kubernetes.io/instance: lidarr
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: lidarr-postgresql-18-backup-garage-local
spec: spec:
retentionPolicy: 3d retentionPolicy: 7d
configuration: configuration:
destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr-postgresql-18-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: lidarr-postgresql-18-cluster-backup-secret-garage name: lidarr-postgresql-18-backup-garage-local-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: lidarr-postgresql-18-cluster-backup-secret-garage name: lidarr-postgresql-18-backup-garage-local-secret
key: ACCESS_SECRET_KEY key: ACCESS_SECRET_KEY
region: region:
name: lidarr-postgresql-18-cluster-backup-secret-garage name: lidarr-postgresql-18-backup-garage-local-secret
key: ACCESS_REGION key: ACCESS_REGION

View File

@@ -4,12 +4,13 @@ metadata:
name: "lidarr-postgresql-18-recovery" name: "lidarr-postgresql-18-recovery"
namespace: lidarr namespace: lidarr
labels: 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/name: lidarr-postgresql-18
app.kubernetes.io/instance: lidarr app.kubernetes.io/instance: lidarr
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: "lidarr-postgresql-18-recovery"
spec: spec:
configuration: configuration:
destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr-postgresql-18-cluster
@@ -22,8 +23,11 @@ spec:
jobs: 1 jobs: 1
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: lidarr-postgresql-18-cluster-backup-secret name: lidarr-postgresql-18-recovery-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: lidarr-postgresql-18-cluster-backup-secret name: lidarr-postgresql-18-recovery-secret
key: ACCESS_SECRET_KEY key: ACCESS_SECRET_KEY
region:
name: lidarr-postgresql-18-recovery-secret
key: ACCESS_REGION

View File

@@ -4,11 +4,11 @@ metadata:
name: lidarr-postgresql-18-alert-rules name: lidarr-postgresql-18-alert-rules
namespace: lidarr namespace: lidarr
labels: 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/name: lidarr-postgresql-18
app.kubernetes.io/instance: lidarr app.kubernetes.io/instance: lidarr
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
groups: groups:

View File

@@ -1,15 +1,16 @@
apiVersion: postgresql.cnpg.io/v1 apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup kind: ScheduledBackup
metadata: metadata:
name: "lidarr-postgresql-18-live-backup-scheduled-backup" name: "lidarr-postgresql-18-scheduled-backup-live-backup"
namespace: lidarr namespace: lidarr
labels: 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/name: lidarr-postgresql-18
app.kubernetes.io/instance: lidarr app.kubernetes.io/instance: lidarr
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: "lidarr-postgresql-18-scheduled-backup-live-backup"
spec: spec:
immediate: true immediate: true
suspend: false suspend: false
@@ -21,4 +22,4 @@ spec:
pluginConfiguration: pluginConfiguration:
name: barman-cloud.cloudnative-pg.io name: barman-cloud.cloudnative-pg.io
parameters: parameters:
barmanObjectName: "lidarr-postgresql-18-garage-local-backup" barmanObjectName: "lidarr-postgresql-18-backup-garage-local"

View File

@@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: lidarr name: lidarr
namespace: lidarr
labels: labels:
app.kubernetes.io/name: lidarr
app.kubernetes.io/instance: 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: spec:
jobLabel: "lidarr"
namespaceSelector:
matchNames:
- lidarr
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/name: lidarr
app.kubernetes.io/instance: lidarr app.kubernetes.io/instance: lidarr
app.kubernetes.io/name: lidarr
endpoints: endpoints:
- port: metrics - interval: 3m
interval: 3m
scrapeTimeout: 1m
path: /metrics path: /metrics
port: metrics
scrapeTimeout: 1m

View File

@@ -1,12 +1,13 @@
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: http-route-lidatube name: lidatube
namespace: lidatube
labels: labels:
app.kubernetes.io/name: http-route-lidatube
app.kubernetes.io/instance: 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: spec:
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
@@ -14,15 +15,16 @@ spec:
name: traefik-gateway name: traefik-gateway
namespace: traefik namespace: traefik
hostnames: hostnames:
- lidatube.alexlebens.net - "lidatube.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: lidatube
namespace: lidatube
port: 80
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: lidatube
port: 80
weight: 100

View File

@@ -1,12 +1,13 @@
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: http-route-listenarr name: listenarr
namespace: listenarr
labels: labels:
app.kubernetes.io/name: http-route-listenarr
app.kubernetes.io/instance: 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: spec:
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
@@ -14,15 +15,16 @@ spec:
name: traefik-gateway name: traefik-gateway
namespace: traefik namespace: traefik
hostnames: hostnames:
- listenarr.alexlebens.net - "listenarr.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: listenarr
namespace: listenarr
port: 80
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: listenarr
port: 80
weight: 100

View File

@@ -4,11 +4,11 @@ metadata:
name: matrix-synapse-postgresql-18-cluster name: matrix-synapse-postgresql-18-cluster
namespace: matrix-synapse namespace: matrix-synapse
labels: 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/name: matrix-synapse-postgresql-18
app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
instances: 3 instances: 3

View File

@@ -4,11 +4,11 @@ metadata:
name: matrix-synapse-postgresql-18-database-mautrix-discord name: matrix-synapse-postgresql-18-database-mautrix-discord
namespace: matrix-synapse namespace: matrix-synapse
labels: 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/name: matrix-synapse-postgresql-18
app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
name: mautrix-discord name: mautrix-discord

View File

@@ -4,11 +4,11 @@ metadata:
name: matrix-synapse-postgresql-18-database-mautrix-whatsapp name: matrix-synapse-postgresql-18-database-mautrix-whatsapp
namespace: matrix-synapse namespace: matrix-synapse
labels: 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/name: matrix-synapse-postgresql-18
app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
name: mautrix-whatsapp name: mautrix-whatsapp

View File

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

View File

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

View File

@@ -1,17 +1,28 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: matrix-synapse-postgresql-18-cluster-backup-secret-garage name: matrix-synapse-postgresql-18-recovery-secret
namespace: matrix-synapse namespace: matrix-synapse
labels: labels:
app.kubernetes.io/name: matrix-synapse-postgresql-18-cluster-backup-secret-garage 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/instance: matrix-synapse
app.kubernetes.io/part-of: 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: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore
name: vault name: vault
data: data:
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_KEY_ID - secretKey: ACCESS_KEY_ID
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
@@ -26,10 +37,3 @@ spec:
key: /garage/home-infra/postgres-backups key: /garage/home-infra/postgres-backups
metadataPolicy: None metadataPolicy: None
property: ACCESS_SECRET_KEY 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,27 +1,28 @@
apiVersion: barmancloud.cnpg.io/v1 apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore kind: ObjectStore
metadata: metadata:
name: "matrix-synapse-postgresql-18-garage-local-backup" name: matrix-synapse-postgresql-18-backup-garage-local
namespace: matrix-synapse namespace: matrix-synapse
labels: 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/name: matrix-synapse-postgresql-18
app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: matrix-synapse-postgresql-18-backup-garage-local
spec: spec:
retentionPolicy: 3d retentionPolicy: 7d
configuration: configuration:
destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-18-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: matrix-synapse-postgresql-18-cluster-backup-secret-garage name: matrix-synapse-postgresql-18-backup-garage-local-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: matrix-synapse-postgresql-18-cluster-backup-secret-garage name: matrix-synapse-postgresql-18-backup-garage-local-secret
key: ACCESS_SECRET_KEY key: ACCESS_SECRET_KEY
region: region:
name: matrix-synapse-postgresql-18-cluster-backup-secret-garage name: matrix-synapse-postgresql-18-backup-garage-local-secret
key: ACCESS_REGION key: ACCESS_REGION

View File

@@ -4,12 +4,13 @@ metadata:
name: "matrix-synapse-postgresql-18-recovery" name: "matrix-synapse-postgresql-18-recovery"
namespace: matrix-synapse namespace: matrix-synapse
labels: 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/name: matrix-synapse-postgresql-18
app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: "matrix-synapse-postgresql-18-recovery"
spec: spec:
configuration: configuration:
destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-18-cluster
@@ -22,8 +23,11 @@ spec:
jobs: 1 jobs: 1
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: matrix-synapse-postgresql-18-cluster-backup-secret-garage name: matrix-synapse-postgresql-18-recovery-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: matrix-synapse-postgresql-18-cluster-backup-secret-garage name: matrix-synapse-postgresql-18-recovery-secret
key: ACCESS_SECRET_KEY key: ACCESS_SECRET_KEY
region:
name: matrix-synapse-postgresql-18-recovery-secret
key: ACCESS_REGION

View File

@@ -4,11 +4,11 @@ metadata:
name: matrix-synapse-postgresql-18-alert-rules name: matrix-synapse-postgresql-18-alert-rules
namespace: matrix-synapse namespace: matrix-synapse
labels: 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/name: matrix-synapse-postgresql-18
app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
groups: groups:

View File

@@ -1,15 +1,16 @@
apiVersion: postgresql.cnpg.io/v1 apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup kind: ScheduledBackup
metadata: metadata:
name: "matrix-synapse-postgresql-18-live-backup-scheduled-backup" name: "matrix-synapse-postgresql-18-scheduled-backup-live-backup"
namespace: matrix-synapse namespace: matrix-synapse
labels: 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/name: matrix-synapse-postgresql-18
app.kubernetes.io/instance: matrix-synapse app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: "matrix-synapse-postgresql-18-scheduled-backup-live-backup"
spec: spec:
immediate: true immediate: true
suspend: false suspend: false
@@ -21,4 +22,4 @@ spec:
pluginConfiguration: pluginConfiguration:
name: barman-cloud.cloudnative-pg.io name: barman-cloud.cloudnative-pg.io
parameters: parameters:
barmanObjectName: "matrix-synapse-postgresql-18-garage-local-backup" barmanObjectName: "matrix-synapse-postgresql-18-backup-garage-local"

View File

@@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: matrix-hookshot name: matrix-hookshot
namespace: matrix-synapse
labels: labels:
app.kubernetes.io/name: matrix-hookshot
app.kubernetes.io/instance: matrix-synapse 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: spec:
jobLabel: "matrix-hookshot"
namespaceSelector:
matchNames:
- matrix-synapse
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/instance: matrix-hookshot
app.kubernetes.io/name: matrix-hookshot app.kubernetes.io/name: matrix-hookshot
app.kubernetes.io/instance: matrix-synapse
endpoints: endpoints:
- targetPort: 9001 - interval: 3m
interval: 3m
scrapeTimeout: 1m
path: /metrics path: /metrics
scrapeTimeout: 1m
targetPort: 9001

View File

@@ -4,11 +4,11 @@ metadata:
name: n8n-postgresql-18-cluster name: n8n-postgresql-18-cluster
namespace: n8n namespace: n8n
labels: 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/name: n8n-postgresql-18
app.kubernetes.io/instance: n8n app.kubernetes.io/instance: n8n
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
instances: 3 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 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: n8n-postgresql-18-cluster-backup-secret-garage name: n8n-postgresql-18-recovery-secret
namespace: n8n namespace: n8n
labels: 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/instance: n8n
app.kubernetes.io/part-of: 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: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore
name: vault name: vault
data: data:
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_KEY_ID - secretKey: ACCESS_KEY_ID
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
@@ -26,10 +37,3 @@ spec:
key: /garage/home-infra/postgres-backups key: /garage/home-infra/postgres-backups
metadataPolicy: None metadataPolicy: None
property: ACCESS_SECRET_KEY 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 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: http-route-n8n name: n8n
namespace: n8n
labels: labels:
app.kubernetes.io/name: http-route-n8n
app.kubernetes.io/instance: 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: spec:
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
@@ -14,22 +15,30 @@ spec:
name: traefik-gateway name: traefik-gateway
namespace: traefik namespace: traefik
hostnames: hostnames:
- n8n.alexlebens.net - "n8n.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: n8n-main
namespace: n8n
port: 80
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
- path: - path:
type: PathPrefix type: PathPrefix
value: /webhook-test/ value: /webhook-test/
backendRefs: - backendRefs:
- group: '' - group: ""
kind: Service kind: Service
name: n8n-main name: n8n-webhook
namespace: n8n
port: 80 port: 80
weight: 100 weight: 100
- matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: /webhook/ value: /webhook/
@@ -39,9 +48,3 @@ spec:
- path: - path:
type: PathPrefix type: PathPrefix
value: /form/ value: /form/
backendRefs:
- group: ''
kind: Service
name: n8n-webhook
port: 80
weight: 100

View File

@@ -1,27 +1,28 @@
apiVersion: barmancloud.cnpg.io/v1 apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore kind: ObjectStore
metadata: metadata:
name: "n8n-postgresql-18-garage-local-backup" name: n8n-postgresql-18-backup-garage-local
namespace: n8n namespace: n8n
labels: 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/name: n8n-postgresql-18
app.kubernetes.io/instance: n8n app.kubernetes.io/instance: n8n
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: n8n-postgresql-18-backup-garage-local
spec: spec:
retentionPolicy: 3d retentionPolicy: 7d
configuration: configuration:
destinationPath: s3://postgres-backups/cl01tl/n8n/n8n-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/n8n/n8n-postgresql-18-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: n8n-postgresql-18-cluster-backup-secret-garage name: n8n-postgresql-18-backup-garage-local-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: n8n-postgresql-18-cluster-backup-secret-garage name: n8n-postgresql-18-backup-garage-local-secret
key: ACCESS_SECRET_KEY key: ACCESS_SECRET_KEY
region: region:
name: n8n-postgresql-18-cluster-backup-secret-garage name: n8n-postgresql-18-backup-garage-local-secret
key: ACCESS_REGION key: ACCESS_REGION

View File

@@ -4,12 +4,13 @@ metadata:
name: "n8n-postgresql-18-recovery" name: "n8n-postgresql-18-recovery"
namespace: n8n namespace: n8n
labels: 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/name: n8n-postgresql-18
app.kubernetes.io/instance: n8n app.kubernetes.io/instance: n8n
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: "n8n-postgresql-18-recovery"
spec: spec:
configuration: configuration:
destinationPath: s3://postgres-backups/cl01tl/n8n/n8n-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/n8n/n8n-postgresql-18-cluster
@@ -22,8 +23,11 @@ spec:
jobs: 1 jobs: 1
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: n8n-postgresql-18-cluster-backup-secret-garage name: n8n-postgresql-18-recovery-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: n8n-postgresql-18-cluster-backup-secret-garage name: n8n-postgresql-18-recovery-secret
key: ACCESS_SECRET_KEY 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 name: n8n-postgresql-18-alert-rules
namespace: n8n namespace: n8n
labels: 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/name: n8n-postgresql-18
app.kubernetes.io/instance: n8n app.kubernetes.io/instance: n8n
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
groups: groups:

View File

@@ -1,15 +1,16 @@
apiVersion: postgresql.cnpg.io/v1 apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup kind: ScheduledBackup
metadata: metadata:
name: "n8n-postgresql-18-live-backup-scheduled-backup" name: "n8n-postgresql-18-scheduled-backup-live-backup"
namespace: n8n namespace: n8n
labels: 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/name: n8n-postgresql-18
app.kubernetes.io/instance: n8n app.kubernetes.io/instance: n8n
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: "n8n-postgresql-18-scheduled-backup-live-backup"
spec: spec:
immediate: true immediate: true
suspend: false suspend: false
@@ -21,4 +22,4 @@ spec:
pluginConfiguration: pluginConfiguration:
name: barman-cloud.cloudnative-pg.io name: barman-cloud.cloudnative-pg.io
parameters: 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 kind: ServiceMonitor
metadata: metadata:
name: n8n-main name: n8n-main
namespace: n8n
labels: labels:
app.kubernetes.io/name: n8n-main
app.kubernetes.io/instance: 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: spec:
jobLabel: "n8n-main"
namespaceSelector:
matchNames:
- n8n
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/instance: n8n-main
app.kubernetes.io/name: n8n-main app.kubernetes.io/name: n8n-main
app.kubernetes.io/instance: n8n
endpoints: endpoints:
- port: http - interval: 3m
interval: 3m
scrapeTimeout: 1m
path: /metrics path: /metrics
port: http
scrapeTimeout: 1m

View File

@@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: n8n-webhook name: n8n-webhook
namespace: n8n
labels: labels:
app.kubernetes.io/name: n8n-webhook
app.kubernetes.io/instance: 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: spec:
jobLabel: "n8n-webhook"
namespaceSelector:
matchNames:
- n8n
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/instance: n8n-webhook
app.kubernetes.io/name: n8n-webhook app.kubernetes.io/name: n8n-webhook
app.kubernetes.io/instance: n8n
endpoints: endpoints:
- port: http - interval: 3m
interval: 3m
scrapeTimeout: 1m
path: /metrics path: /metrics
port: http
scrapeTimeout: 1m

View File

@@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: n8n-worker name: n8n-worker
namespace: n8n
labels: labels:
app.kubernetes.io/name: n8n-worker
app.kubernetes.io/instance: 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: spec:
jobLabel: "n8n-worker"
namespaceSelector:
matchNames:
- n8n
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/instance: n8n-worker
app.kubernetes.io/name: n8n-worker app.kubernetes.io/name: n8n-worker
app.kubernetes.io/instance: n8n
endpoints: endpoints:
- port: http - interval: 3m
interval: 3m
scrapeTimeout: 1m
path: /metrics path: /metrics
port: http
scrapeTimeout: 1m

View File

@@ -1,12 +1,13 @@
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: http-route-ntfy name: ntfy
namespace: ntfy
labels: labels:
app.kubernetes.io/name: http-route-ntfy
app.kubernetes.io/instance: 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: spec:
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
@@ -14,15 +15,16 @@ spec:
name: traefik-gateway name: traefik-gateway
namespace: traefik namespace: traefik
hostnames: hostnames:
- ntfy.alexlebens.net - "ntfy.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: ntfy
namespace: ntfy
port: 80
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: ntfy
port: 80
weight: 100

View File

@@ -2,18 +2,23 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: ntfy name: ntfy
namespace: ntfy
labels: labels:
app.kubernetes.io/name: ntfy
app.kubernetes.io/instance: 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: spec:
jobLabel: "ntfy"
namespaceSelector:
matchNames:
- ntfy
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/name: ntfy
app.kubernetes.io/instance: ntfy app.kubernetes.io/instance: ntfy
app.kubernetes.io/name: ntfy
endpoints: endpoints:
- port: metrics - interval: 3m
interval: 3m
scrapeTimeout: 1m
path: /metrics path: /metrics
port: metrics
scrapeTimeout: 1m

View File

@@ -1,14 +1,14 @@
apiVersion: postgresql.cnpg.io/v1 apiVersion: postgresql.cnpg.io/v1
kind: Cluster kind: Cluster
metadata: metadata:
name: ollama-web-postgresql-18-cluster name: ollama-postgresql-18-cluster
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-web-postgresql-18 app.kubernetes.io/name: ollama-postgresql-18
app.kubernetes.io/instance: ollama app.kubernetes.io/instance: ollama
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
instances: 3 instances: 3
@@ -49,18 +49,18 @@ spec:
enabled: true enabled: true
isWALArchiver: true isWALArchiver: true
parameters: parameters:
barmanObjectName: "ollama-web-postgresql-18-garage-local-backup" barmanObjectName: "ollama-postgresql-18-garage-local-backup"
serverName: "ollama-web-postgresql-18-backup-1" serverName: "ollama-postgresql-18-backup-1"
bootstrap: bootstrap:
recovery: recovery:
database: app database: app
source: ollama-web-postgresql-18-backup-1 source: ollama-postgresql-18-backup-1
externalClusters: externalClusters:
- name: ollama-web-postgresql-18-backup-1 - name: ollama-postgresql-18-backup-1
plugin: plugin:
name: barman-cloud.cloudnative-pg.io name: barman-cloud.cloudnative-pg.io
enabled: true enabled: true
isWALArchiver: false isWALArchiver: false
parameters: parameters:
barmanObjectName: "ollama-web-postgresql-18-recovery" barmanObjectName: "ollama-postgresql-18-recovery"
serverName: ollama-web-postgresql-18-backup-1 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 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: ollama-web-postgresql-18-cluster-backup-secret-garage name: ollama-postgresql-18-recovery-secret
namespace: ollama namespace: ollama
labels: 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/instance: ollama
app.kubernetes.io/part-of: 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: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore
name: vault name: vault
data: data:
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_KEY_ID - secretKey: ACCESS_KEY_ID
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
@@ -26,10 +37,3 @@ spec:
key: /garage/home-infra/postgres-backups key: /garage/home-infra/postgres-backups
metadataPolicy: None metadataPolicy: None
property: ACCESS_SECRET_KEY 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 apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: http-route-ollama name: ollama
namespace: ollama
labels: labels:
app.kubernetes.io/name: http-route-ollama
app.kubernetes.io/instance: 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: spec:
parentRefs: parentRefs:
- group: gateway.networking.k8s.io - group: gateway.networking.k8s.io
@@ -14,15 +15,16 @@ spec:
name: traefik-gateway name: traefik-gateway
namespace: traefik namespace: traefik
hostnames: hostnames:
- ollama.alexlebens.net - "ollama.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: ollama-web
namespace: ollama
port: 80
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: ollama-web
port: 80
weight: 100

View File

@@ -1,27 +1,28 @@
apiVersion: barmancloud.cnpg.io/v1 apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore kind: ObjectStore
metadata: metadata:
name: "ollama-web-postgresql-18-garage-local-backup" name: ollama-postgresql-18-backup-garage-local
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-web-postgresql-18 app.kubernetes.io/name: ollama-postgresql-18
app.kubernetes.io/instance: ollama app.kubernetes.io/instance: ollama
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: ollama-postgresql-18-backup-garage-local
spec: spec:
retentionPolicy: 3d retentionPolicy: 7d
configuration: 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 endpointURL: http://garage-main.garage:3900
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: ollama-web-postgresql-18-cluster-backup-secret-garage name: ollama-postgresql-18-backup-garage-local-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: ollama-web-postgresql-18-cluster-backup-secret-garage name: ollama-postgresql-18-backup-garage-local-secret
key: ACCESS_SECRET_KEY key: ACCESS_SECRET_KEY
region: region:
name: ollama-web-postgresql-18-cluster-backup-secret-garage name: ollama-postgresql-18-backup-garage-local-secret
key: ACCESS_REGION key: ACCESS_REGION

View File

@@ -1,18 +1,19 @@
apiVersion: barmancloud.cnpg.io/v1 apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore kind: ObjectStore
metadata: metadata:
name: "ollama-web-postgresql-18-recovery" name: "ollama-postgresql-18-recovery"
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-web-postgresql-18 app.kubernetes.io/name: ollama-postgresql-18
app.kubernetes.io/instance: ollama app.kubernetes.io/instance: ollama
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: "ollama-postgresql-18-recovery"
spec: spec:
configuration: 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 endpointURL: http://garage-main.garage:3900
wal: wal:
compression: snappy compression: snappy
@@ -22,8 +23,11 @@ spec:
jobs: 1 jobs: 1
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: ollama-web-postgresql-18-cluster-backup-secret-garage name: ollama-postgresql-18-recovery-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: ollama-web-postgresql-18-cluster-backup-secret-garage name: ollama-postgresql-18-recovery-secret
key: ACCESS_SECRET_KEY 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 apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule kind: PrometheusRule
metadata: metadata:
name: ollama-web-postgresql-18-alert-rules name: ollama-postgresql-18-alert-rules
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-web-postgresql-18 app.kubernetes.io/name: ollama-postgresql-18
app.kubernetes.io/instance: ollama app.kubernetes.io/instance: ollama
app.kubernetes.io/part-of: 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/managed-by: Helm
spec: spec:
groups: groups:
- name: cloudnative-pg/ollama-web-postgresql-18 - name: cloudnative-pg/ollama-postgresql-18
rules: rules:
- alert: CNPGClusterBackendsWaitingWarning - alert: CNPGClusterBackendsWaitingWarning
annotations: annotations:
@@ -26,7 +26,7 @@ spec:
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterDatabaseDeadlockConflictsWarning - alert: CNPGClusterDatabaseDeadlockConflictsWarning
annotations: annotations:
summary: CNPG Cluster has over 10 deadlock conflicts. summary: CNPG Cluster has over 10 deadlock conflicts.
@@ -39,7 +39,7 @@ spec:
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterHACritical - alert: CNPGClusterHACritical
annotations: annotations:
summary: CNPG Cluster has no standby replicas! summary: CNPG Cluster has no standby replicas!
@@ -62,7 +62,7 @@ spec:
labels: labels:
severity: critical severity: critical
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterHAWarning - alert: CNPGClusterHAWarning
annotations: annotations:
summary: CNPG Cluster less than 2 standby replicas. summary: CNPG Cluster less than 2 standby replicas.
@@ -83,67 +83,67 @@ spec:
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterHighConnectionsCritical - alert: CNPGClusterHighConnectionsCritical
annotations: annotations:
summary: CNPG Instance maximum number of connections critical! summary: CNPG Instance maximum number of connections critical!
description: |- 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. the maximum number of connections.
runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighConnectionsCritical.md runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighConnectionsCritical.md
expr: | 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 for: 5m
labels: labels:
severity: critical severity: critical
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterHighConnectionsWarning - alert: CNPGClusterHighConnectionsWarning
annotations: annotations:
summary: CNPG Instance is approaching the maximum number of connections. summary: CNPG Instance is approaching the maximum number of connections.
description: |- 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. the maximum number of connections.
runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighConnectionsWarning.md runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighConnectionsWarning.md
expr: | 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 for: 5m
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterHighReplicationLag - alert: CNPGClusterHighReplicationLag
annotations: annotations:
summary: CNPG Cluster high replication lag summary: CNPG Cluster high replication lag
description: |- 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. {{`{{`}} $value {{`}}`}}ms.
High replication lag indicates network issues, busy instances, slow queries or suboptimal configuration. 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 runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighReplicationLag.md
expr: | 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 for: 5m
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterInstancesOnSameNode - alert: CNPGClusterInstancesOnSameNode
annotations: annotations:
summary: CNPG Cluster instances are located on the same node. summary: CNPG Cluster instances are located on the same node.
description: |- 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 {{`}}`}}. 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. 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 runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterInstancesOnSameNode.md
expr: | 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 for: 5m
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterLongRunningTransactionWarning - alert: CNPGClusterLongRunningTransactionWarning
annotations: annotations:
summary: CNPG Cluster query is taking longer than 5 minutes. summary: CNPG Cluster query is taking longer than 5 minutes.
@@ -156,65 +156,65 @@ spec:
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterLowDiskSpaceCritical - alert: CNPGClusterLowDiskSpaceCritical
annotations: annotations:
summary: CNPG Instance is running out of disk space! summary: CNPG Instance is running out of disk space!
description: |- 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 runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterLowDiskSpaceCritical.md
expr: | 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-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-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(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-web-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) 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) 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 ) > 0.9
for: 5m for: 5m
labels: labels:
severity: critical severity: critical
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterLowDiskSpaceWarning - alert: CNPGClusterLowDiskSpaceWarning
annotations: annotations:
summary: CNPG Instance is running out of disk space. summary: CNPG Instance is running out of disk space.
description: |- 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 runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterLowDiskSpaceWarning.md
expr: | 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-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-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(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-web-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) 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) 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 ) > 0.7
for: 5m for: 5m
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterOffline - alert: CNPGClusterOffline
annotations: annotations:
summary: CNPG Cluster has no running instances! summary: CNPG Cluster has no running instances!
description: |- 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 Having an offline cluster means your applications will not be able to access the database, leading to
potential service disruption and/or data loss. potential service disruption and/or data loss.
runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterOffline.md runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterOffline.md
expr: | 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 for: 5m
labels: labels:
severity: critical severity: critical
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterPGDatabaseXidAgeWarning - alert: CNPGClusterPGDatabaseXidAgeWarning
annotations: annotations:
summary: CNPG Cluster has a number of transactions from the frozen XID to the current one. summary: CNPG Cluster has a number of transactions from the frozen XID to the current one.
@@ -227,7 +227,7 @@ spec:
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterPGReplicationWarning - alert: CNPGClusterPGReplicationWarning
annotations: annotations:
summary: CNPG Cluster standby is lagging behind the primary. summary: CNPG Cluster standby is lagging behind the primary.
@@ -239,7 +239,7 @@ spec:
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterReplicaFailingReplicationWarning - alert: CNPGClusterReplicaFailingReplicationWarning
annotations: annotations:
summary: CNPG Cluster has a replica is failing to replicate. summary: CNPG Cluster has a replica is failing to replicate.
@@ -252,19 +252,19 @@ spec:
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-web-postgresql-18-cluster cnpg_cluster: ollama-postgresql-18-cluster
- alert: CNPGClusterZoneSpreadWarning - alert: CNPGClusterZoneSpreadWarning
annotations: annotations:
summary: CNPG Cluster instances in the same zone. summary: CNPG Cluster instances in the same zone.
description: |- 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. 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 runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterZoneSpreadWarning.md
expr: | 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 for: 5m
labels: labels:
severity: warning severity: warning
namespace: ollama 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 apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup kind: ScheduledBackup
metadata: metadata:
name: "ollama-web-postgresql-18-live-backup-scheduled-backup" name: "ollama-postgresql-18-scheduled-backup-live-backup"
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-web-postgresql-18 app.kubernetes.io/name: ollama-postgresql-18
app.kubernetes.io/instance: ollama app.kubernetes.io/instance: ollama
app.kubernetes.io/part-of: 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/managed-by: Helm
app.kubernetes.io/name: "ollama-postgresql-18-scheduled-backup-live-backup"
spec: spec:
immediate: true immediate: true
suspend: false suspend: false
schedule: "0 0 0 * * *" schedule: "0 0 0 * * *"
backupOwnerReference: self backupOwnerReference: self
cluster: cluster:
name: ollama-web-postgresql-18-cluster name: ollama-postgresql-18-cluster
method: plugin method: plugin
pluginConfiguration: pluginConfiguration:
name: barman-cloud.cloudnative-pg.io name: barman-cloud.cloudnative-pg.io
parameters: parameters:
barmanObjectName: "ollama-web-postgresql-18-garage-local-backup" barmanObjectName: "ollama-postgresql-18-backup-garage-local"