Automated Manifest Update (#2806)

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

Reviewed-on: #2806
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 #2806.
This commit is contained in:
2025-12-24 05:06:02 +00:00
committed by Alex Lebens
parent 7787ab6f59
commit eecb74a697
37 changed files with 393 additions and 322 deletions

View File

@@ -1,11 +1,11 @@
apiVersion: postgresql.cnpg.io/v1 apiVersion: postgresql.cnpg.io/v1
kind: Cluster kind: Cluster
metadata: metadata:
name: ollama-postgresql-18-cluster name: ollama-web-postgresql-18-cluster
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.4.3 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/name: ollama-web-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/version: "7.4.3"
@@ -49,18 +49,18 @@ spec:
enabled: true enabled: true
isWALArchiver: true isWALArchiver: true
parameters: parameters:
barmanObjectName: "ollama-postgresql-18-garage-local-backup" barmanObjectName: "ollama-web-postgresql-18-garage-local-backup"
serverName: "ollama-postgresql-18-backup-1" serverName: "ollama-web-postgresql-18-backup-1"
bootstrap: bootstrap:
recovery: recovery:
database: app database: app
source: ollama-postgresql-18-backup-1 source: ollama-web-postgresql-18-backup-1
externalClusters: externalClusters:
- name: ollama-postgresql-18-backup-1 - name: ollama-web-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-postgresql-18-recovery" barmanObjectName: "ollama-web-postgresql-18-recovery"
serverName: ollama-postgresql-18-backup-1 serverName: ollama-web-postgresql-18-backup-1

View File

@@ -1,16 +1,16 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: ollama-postgresql-18-backup-garage-local-secret name: ollama-web-postgresql-18-backup-garage-local-secret
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.4.3 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/name: ollama-web-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/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-secret app.kubernetes.io/name: ollama-web-postgresql-18-backup-garage-local-secret
spec: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore

View File

@@ -1,16 +1,16 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: ollama-postgresql-18-recovery-secret name: ollama-web-postgresql-18-recovery-secret
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.4.3 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/name: ollama-web-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/version: "7.4.3"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: ollama-postgresql-18-recovery-secret app.kubernetes.io/name: ollama-web-postgresql-18-recovery-secret
spec: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore

View File

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

View File

@@ -1,19 +1,19 @@
apiVersion: barmancloud.cnpg.io/v1 apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore kind: ObjectStore
metadata: metadata:
name: "ollama-postgresql-18-recovery" name: "ollama-web-postgresql-18-recovery"
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.4.3 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/name: ollama-web-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/version: "7.4.3"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: "ollama-postgresql-18-recovery" app.kubernetes.io/name: "ollama-web-postgresql-18-recovery"
spec: spec:
configuration: configuration:
destinationPath: s3://postgres-backups/cl01tl/ollama/ollama-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/ollama/ollama-web-postgresql-18-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
wal: wal:
compression: snappy compression: snappy
@@ -23,11 +23,11 @@ spec:
jobs: 1 jobs: 1
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: ollama-postgresql-18-recovery-secret name: ollama-web-postgresql-18-recovery-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: ollama-postgresql-18-recovery-secret name: ollama-web-postgresql-18-recovery-secret
key: ACCESS_SECRET_KEY key: ACCESS_SECRET_KEY
region: region:
name: ollama-postgresql-18-recovery-secret name: ollama-web-postgresql-18-recovery-secret
key: ACCESS_REGION 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-postgresql-18-alert-rules name: ollama-web-postgresql-18-alert-rules
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.4.3 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/name: ollama-web-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/version: "7.4.3"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
spec: spec:
groups: groups:
- name: cloudnative-pg/ollama-postgresql-18 - name: cloudnative-pg/ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster" instance {{`{{`}} $labels.pod {{`}}`}} is using {{`{{`}} $value {{`}}`}}% of CloudNativePG Cluster "ollama/ollama-web-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-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 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
for: 5m for: 5m
labels: labels:
severity: critical severity: critical
namespace: ollama namespace: ollama
cnpg_cluster: ollama-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster" instance {{`{{`}} $labels.pod {{`}}`}} is using {{`{{`}} $value {{`}}`}}% of CloudNativePG Cluster "ollama/ollama-web-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-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 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
for: 5m for: 5m
labels: labels:
severity: warning severity: warning
namespace: ollama namespace: ollama
cnpg_cluster: ollama-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster" is experiencing a high replication lag of CloudNativePG Cluster "ollama/ollama-web-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-postgresql-18-cluster-([1-9][0-9]*)$"}) * 1000 > 1000 max(cnpg_pg_replication_lag{namespace="ollama",pod=~"ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster" has {{`{{`}} $value {{`}}`}} CloudNativePG Cluster "ollama/ollama-web-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-postgresql-18-cluster-([1-9][0-9]*)$"}) > 1 count by (node) (kube_pod_info{namespace="ollama", pod=~"ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster" is running extremely low on disk space. Check attached PVCs! CloudNativePG Cluster "ollama/ollama-web-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-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]*)$"} / 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]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-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-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-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_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.*"}) sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-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-postgresql-18-cluster-([1-9][0-9]*)$"} kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster" is running low on disk space. Check attached PVCs. CloudNativePG Cluster "ollama/ollama-web-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-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]*)$"} / 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]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-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-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-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_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.*"}) sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="ollama", persistentvolumeclaim=~"ollama-web-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-postgresql-18-cluster-([1-9][0-9]*)$"} kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster" has no ready instances. CloudNativePG Cluster "ollama/ollama-web-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-postgresql-18-cluster-([1-9][0-9]*)$"}) OR on() vector(0)) == 0 (count(cnpg_collector_up{namespace="ollama",pod=~"ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-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-postgresql-18-cluster" has instances in the same availability zone. CloudNativePG Cluster "ollama/ollama-web-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-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-web-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-postgresql-18-cluster cnpg_cluster: ollama-web-postgresql-18-cluster

View File

@@ -1,25 +1,25 @@
apiVersion: postgresql.cnpg.io/v1 apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup kind: ScheduledBackup
metadata: metadata:
name: "ollama-postgresql-18-scheduled-backup-live-backup" name: "ollama-web-postgresql-18-scheduled-backup-live-backup"
namespace: ollama namespace: ollama
labels: labels:
helm.sh/chart: postgres-18-cluster-7.4.3 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: ollama-postgresql-18 app.kubernetes.io/name: ollama-web-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/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" app.kubernetes.io/name: "ollama-web-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-postgresql-18-cluster name: ollama-web-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-postgresql-18-backup-garage-local" barmanObjectName: "ollama-web-postgresql-18-backup-garage-local"

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-omni-tools name: omni-tools
namespace: omni-tools
labels: labels:
app.kubernetes.io/name: http-route-omni-tools
app.kubernetes.io/instance: omni-tools app.kubernetes.io/instance: omni-tools
app.kubernetes.io/part-of: omni-tools app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: omni-tools
helm.sh/chart: omni-tools-4.5.0
namespace: omni-tools
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:
- omni-tools.alexlebens.net - "omni-tools.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: omni-tools
namespace: omni-tools
port: 80
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: omni-tools
port: 80
weight: 100

View File

@@ -4,11 +4,11 @@ metadata:
name: outline-postgresql-18-cluster name: outline-postgresql-18-cluster
namespace: outline namespace: outline
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: outline-postgresql-18 app.kubernetes.io/name: outline-postgresql-18
app.kubernetes.io/instance: outline app.kubernetes.io/instance: outline
app.kubernetes.io/part-of: outline app.kubernetes.io/part-of: outline
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: outline-postgresql-18-backup-garage-local-secret
namespace: outline
labels:
helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: outline-postgresql-18
app.kubernetes.io/instance: outline
app.kubernetes.io/part-of: outline
app.kubernetes.io/version: "7.4.3"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: outline-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: outline-postgresql-18-cluster-backup-secret
namespace: outline
labels:
app.kubernetes.io/name: outline-postgresql-18-cluster-backup-secret
app.kubernetes.io/instance: outline
app.kubernetes.io/part-of: outline
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: outline-postgresql-18-cluster-backup-secret-garage name: outline-postgresql-18-recovery-secret
namespace: outline namespace: outline
labels: labels:
app.kubernetes.io/name: outline-postgresql-18-cluster-backup-secret-garage helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: outline-postgresql-18
app.kubernetes.io/instance: outline app.kubernetes.io/instance: outline
app.kubernetes.io/part-of: outline app.kubernetes.io/part-of: outline
app.kubernetes.io/version: "7.4.3"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: outline-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,30 +0,0 @@
apiVersion: objectbucket.io/v1alpha1
kind: ObjectBucketClaim
metadata:
name: ceph-bucket-outline
labels:
app.kubernetes.io/name: ceph-bucket-outline
app.kubernetes.io/instance: outline
app.kubernetes.io/part-of: outline
spec:
generateBucketName: bucket-outline
storageClassName: ceph-bucket
additionalConfig:
bucketPolicy: |
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor",
"Effect": "Allow",
"Action": [
"s3:GetObjectAcl",
"s3:DeleteObject",
"s3:PutObject",
"s3:GetObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::bucket-outline-630c57e0-d475-4d78-926c-c1c082291d73/*"
}
]
}

View File

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

View File

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

View File

@@ -4,11 +4,11 @@ metadata:
name: outline-postgresql-18-alert-rules name: outline-postgresql-18-alert-rules
namespace: outline namespace: outline
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: outline-postgresql-18 app.kubernetes.io/name: outline-postgresql-18
app.kubernetes.io/instance: outline app.kubernetes.io/instance: outline
app.kubernetes.io/part-of: outline app.kubernetes.io/part-of: outline
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: "outline-postgresql-18-live-backup-scheduled-backup" name: "outline-postgresql-18-scheduled-backup-live-backup"
namespace: outline namespace: outline
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: outline-postgresql-18 app.kubernetes.io/name: outline-postgresql-18
app.kubernetes.io/instance: outline app.kubernetes.io/instance: outline
app.kubernetes.io/part-of: outline app.kubernetes.io/part-of: outline
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: "outline-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: "outline-postgresql-18-garage-local-backup" barmanObjectName: "outline-postgresql-18-backup-garage-local"

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-overseerr name: overseerr
namespace: overseerr
labels: labels:
app.kubernetes.io/name: http-route-overseerr
app.kubernetes.io/instance: overseerr app.kubernetes.io/instance: overseerr
app.kubernetes.io/part-of: overseerr app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: overseerr
helm.sh/chart: app-template-4.5.0
namespace: overseerr
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:
- overseerr.alexlebens.net - "overseerr.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: overseerr
namespace: overseerr
port: 80
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: overseerr
port: 80
weight: 100

View File

@@ -4,11 +4,11 @@ metadata:
name: photoview-postgresql-18-cluster name: photoview-postgresql-18-cluster
namespace: photoview namespace: photoview
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: photoview-postgresql-18 app.kubernetes.io/name: photoview-postgresql-18
app.kubernetes.io/instance: photoview app.kubernetes.io/instance: photoview
app.kubernetes.io/part-of: photoview app.kubernetes.io/part-of: photoview
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: photoview-postgresql-18-backup-garage-local-secret
namespace: photoview
labels:
helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: photoview-postgresql-18
app.kubernetes.io/instance: photoview
app.kubernetes.io/part-of: photoview
app.kubernetes.io/version: "7.4.3"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: photoview-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: photoview-postgresql-18-cluster-backup-secret
namespace: photoview
labels:
app.kubernetes.io/name: photoview-postgresql-18-cluster-backup-secret
app.kubernetes.io/instance: photoview
app.kubernetes.io/part-of: photoview
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: photoview-postgresql-18-cluster-backup-secret-garage name: photoview-postgresql-18-recovery-secret
namespace: photoview namespace: photoview
labels: labels:
app.kubernetes.io/name: photoview-postgresql-18-cluster-backup-secret-garage helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: photoview-postgresql-18
app.kubernetes.io/instance: photoview app.kubernetes.io/instance: photoview
app.kubernetes.io/part-of: photoview app.kubernetes.io/part-of: photoview
app.kubernetes.io/version: "7.4.3"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: photoview-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-photoview name: photoview
namespace: photoview
labels: labels:
app.kubernetes.io/name: http-route-photoview
app.kubernetes.io/instance: photoview app.kubernetes.io/instance: photoview
app.kubernetes.io/part-of: photoview app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: photoview
helm.sh/chart: photoview-4.5.0
namespace: photoview
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:
- photoview.alexlebens.net - "photoview.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: photoview
namespace: photoview
port: 80
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: photoview
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: "photoview-postgresql-18-garage-local-backup" name: photoview-postgresql-18-backup-garage-local
namespace: photoview namespace: photoview
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: photoview-postgresql-18 app.kubernetes.io/name: photoview-postgresql-18
app.kubernetes.io/instance: photoview app.kubernetes.io/instance: photoview
app.kubernetes.io/part-of: photoview app.kubernetes.io/part-of: photoview
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: photoview-postgresql-18-backup-garage-local
spec: spec:
retentionPolicy: 3d retentionPolicy: 7d
configuration: configuration:
destinationPath: s3://postgres-backups/cl01tl/photoview/photoview-postgresql-18-cluster destinationPath: s3://postgres-backups/cl01tl/photoview/photoview-postgresql-18-cluster
endpointURL: http://garage-main.garage:3900 endpointURL: http://garage-main.garage:3900
s3Credentials: s3Credentials:
accessKeyId: accessKeyId:
name: photoview-postgresql-18-cluster-backup-secret-garage name: photoview-postgresql-18-backup-garage-local-secret
key: ACCESS_KEY_ID key: ACCESS_KEY_ID
secretAccessKey: secretAccessKey:
name: photoview-postgresql-18-cluster-backup-secret-garage name: photoview-postgresql-18-backup-garage-local-secret
key: ACCESS_SECRET_KEY key: ACCESS_SECRET_KEY
region: region:
name: photoview-postgresql-18-cluster-backup-secret-garage name: photoview-postgresql-18-backup-garage-local-secret
key: ACCESS_REGION key: ACCESS_REGION

View File

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

View File

@@ -4,11 +4,11 @@ metadata:
name: photoview-postgresql-18-alert-rules name: photoview-postgresql-18-alert-rules
namespace: photoview namespace: photoview
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: photoview-postgresql-18 app.kubernetes.io/name: photoview-postgresql-18
app.kubernetes.io/instance: photoview app.kubernetes.io/instance: photoview
app.kubernetes.io/part-of: photoview app.kubernetes.io/part-of: photoview
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: "photoview-postgresql-18-live-backup-scheduled-backup" name: "photoview-postgresql-18-scheduled-backup-live-backup"
namespace: photoview namespace: photoview
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: photoview-postgresql-18 app.kubernetes.io/name: photoview-postgresql-18
app.kubernetes.io/instance: photoview app.kubernetes.io/instance: photoview
app.kubernetes.io/part-of: photoview app.kubernetes.io/part-of: photoview
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: "photoview-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: "photoview-postgresql-18-garage-local-backup" barmanObjectName: "photoview-postgresql-18-backup-garage-local"

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-plex name: plex
namespace: plex
labels: labels:
app.kubernetes.io/name: http-route-plex
app.kubernetes.io/instance: plex app.kubernetes.io/instance: plex
app.kubernetes.io/part-of: plex app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: plex
helm.sh/chart: plex-4.5.0
namespace: plex
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:
- plex.alexlebens.net - "plex.alexlebens.net"
rules: rules:
- matches: - backendRefs:
- group: ""
kind: Service
name: plex
namespace: plex
port: 32400
weight: 100
matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs:
- group: ''
kind: Service
name: plex
port: 32400
weight: 100

View File

@@ -4,11 +4,11 @@ metadata:
name: postiz-postgresql-18-cluster name: postiz-postgresql-18-cluster
namespace: postiz namespace: postiz
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: postiz-postgresql-18 app.kubernetes.io/name: postiz-postgresql-18
app.kubernetes.io/instance: postiz app.kubernetes.io/instance: postiz
app.kubernetes.io/part-of: postiz app.kubernetes.io/part-of: postiz
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: postiz-postgresql-18-backup-garage-local-secret
namespace: postiz
labels:
helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: postiz-postgresql-18
app.kubernetes.io/instance: postiz
app.kubernetes.io/part-of: postiz
app.kubernetes.io/version: "7.4.3"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: postiz-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: postiz-postgresql-18-cluster-backup-secret
namespace: postiz
labels:
app.kubernetes.io/name: postiz-postgresql-18-cluster-backup-secret
app.kubernetes.io/instance: postiz
app.kubernetes.io/part-of: postiz
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: postiz-postgresql-18-cluster-backup-secret-garage name: postiz-postgresql-18-recovery-secret
namespace: postiz namespace: postiz
labels: labels:
app.kubernetes.io/name: postiz-postgresql-18-cluster-backup-secret-garage helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: postiz-postgresql-18
app.kubernetes.io/instance: postiz app.kubernetes.io/instance: postiz
app.kubernetes.io/part-of: postiz app.kubernetes.io/part-of: postiz
app.kubernetes.io/version: "7.4.3"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: postiz-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

@@ -0,0 +1,30 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: postiz
labels:
app.kubernetes.io/instance: postiz
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: postiz
helm.sh/chart: postiz-4.5.0
namespace: postiz
spec:
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- "postiz.alexlebens.net"
rules:
- backendRefs:
- group: ""
kind: Service
name: postiz
namespace: postiz
port: 80
weight: 100
matches:
- path:
type: PathPrefix
value: /

View File

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

View File

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

View File

@@ -4,11 +4,11 @@ metadata:
name: postiz-postgresql-18-alert-rules name: postiz-postgresql-18-alert-rules
namespace: postiz namespace: postiz
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: postiz-postgresql-18 app.kubernetes.io/name: postiz-postgresql-18
app.kubernetes.io/instance: postiz app.kubernetes.io/instance: postiz
app.kubernetes.io/part-of: postiz app.kubernetes.io/part-of: postiz
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: "postiz-postgresql-18-live-backup-scheduled-backup" name: "postiz-postgresql-18-scheduled-backup-live-backup"
namespace: postiz namespace: postiz
labels: labels:
helm.sh/chart: postgres-18-cluster-7.1.4 helm.sh/chart: postgres-18-cluster-7.4.3
app.kubernetes.io/name: postiz-postgresql-18 app.kubernetes.io/name: postiz-postgresql-18
app.kubernetes.io/instance: postiz app.kubernetes.io/instance: postiz
app.kubernetes.io/part-of: postiz app.kubernetes.io/part-of: postiz
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: "postiz-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: "postiz-postgresql-18-garage-local-backup" barmanObjectName: "postiz-postgresql-18-backup-garage-local"