From 49d9a1462ed67e96b27244769b7746a451622d50 Mon Sep 17 00:00:00 2001 From: gitea-bot Date: Sat, 27 Dec 2025 20:51:23 +0000 Subject: [PATCH 1/2] chore: Update manifests after change --- .../manifests/garage/Deployment-garage-main.yaml | 4 ++-- .../garage/Deployment-garage-webui.yaml | 5 +++++ .../garage/ReplicationDestination-garage-db.yaml | 16 ++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 clusters/cl01tl/manifests/garage/ReplicationDestination-garage-db.yaml diff --git a/clusters/cl01tl/manifests/garage/Deployment-garage-main.yaml b/clusters/cl01tl/manifests/garage/Deployment-garage-main.yaml index 29743a868..0b0c99594 100644 --- a/clusters/cl01tl/manifests/garage/Deployment-garage-main.yaml +++ b/clusters/cl01tl/manifests/garage/Deployment-garage-main.yaml @@ -54,7 +54,7 @@ spec: subPath: garage.toml - mountPath: /var/lib/garage/data name: data - - mountPath: /var/lib/garage/meta + - mountPath: /db name: db - mountPath: /var/lib/garage/snapshots name: snapshots @@ -76,7 +76,7 @@ spec: subPath: garage.toml - mountPath: /var/lib/garage/data name: data - - mountPath: /var/lib/garage/meta + - mountPath: /db name: db - mountPath: /var/lib/garage/snapshots name: snapshots diff --git a/clusters/cl01tl/manifests/garage/Deployment-garage-webui.yaml b/clusters/cl01tl/manifests/garage/Deployment-garage-webui.yaml index 27e32ac29..f43da4fea 100644 --- a/clusters/cl01tl/manifests/garage/Deployment-garage-webui.yaml +++ b/clusters/cl01tl/manifests/garage/Deployment-garage-webui.yaml @@ -59,7 +59,12 @@ spec: name: config readOnly: true subPath: garage.toml + - mountPath: /db + name: db volumes: - configMap: name: garage name: config + - name: db + persistentVolumeClaim: + claimName: garage-db diff --git a/clusters/cl01tl/manifests/garage/ReplicationDestination-garage-db.yaml b/clusters/cl01tl/manifests/garage/ReplicationDestination-garage-db.yaml new file mode 100644 index 000000000..00e023f0e --- /dev/null +++ b/clusters/cl01tl/manifests/garage/ReplicationDestination-garage-db.yaml @@ -0,0 +1,16 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationDestination +metadata: + name: garage-db + namespace: garage + labels: + app.kubernetes.io/name: garage-db + app.kubernetes.io/instance: garage + app.kubernetes.io/part-of: garage +spec: + trigger: + manual: restore-once + restic: + repository: garage-db-backup-secret-external + destinationPVC: garage-db + copyMethod: Direct -- 2.49.1 From 37de3a6dc0334a603a4633fe7ffc864c1946395e Mon Sep 17 00:00:00 2001 From: gitea-bot Date: Sat, 27 Dec 2025 20:55:12 +0000 Subject: [PATCH 2/2] chore: Update manifests after change --- .../garage/Deployment-garage-main.yaml | 7 --- .../garage/Deployment-garage-webui.yaml | 5 -- ...Secret-garage-db-backup-secret-remote.yaml | 58 +++++++++++++++++++ .../PersistentVolumeClaim-garage-db.yaml | 15 ++--- ...urce-garage-db-backup-source-external.yaml | 2 +- ...Source-garage-db-backup-source-remote.yaml | 29 ++++++++++ .../manifests/volsync/Deployment-volsync.yaml | 2 +- 7 files changed, 93 insertions(+), 25 deletions(-) create mode 100644 clusters/cl01tl/manifests/garage/ExternalSecret-garage-db-backup-secret-remote.yaml create mode 100644 clusters/cl01tl/manifests/garage/ReplicationSource-garage-db-backup-source-remote.yaml diff --git a/clusters/cl01tl/manifests/garage/Deployment-garage-main.yaml b/clusters/cl01tl/manifests/garage/Deployment-garage-main.yaml index 0b0c99594..6c5b95951 100644 --- a/clusters/cl01tl/manifests/garage/Deployment-garage-main.yaml +++ b/clusters/cl01tl/manifests/garage/Deployment-garage-main.yaml @@ -54,8 +54,6 @@ spec: subPath: garage.toml - mountPath: /var/lib/garage/data name: data - - mountPath: /db - name: db - mountPath: /var/lib/garage/snapshots name: snapshots - envFrom: @@ -76,8 +74,6 @@ spec: subPath: garage.toml - mountPath: /var/lib/garage/data name: data - - mountPath: /db - name: db - mountPath: /var/lib/garage/snapshots name: snapshots volumes: @@ -87,9 +83,6 @@ spec: - name: data persistentVolumeClaim: claimName: garage-data - - name: db - persistentVolumeClaim: - claimName: garage-db - name: snapshots persistentVolumeClaim: claimName: garage-snapshots diff --git a/clusters/cl01tl/manifests/garage/Deployment-garage-webui.yaml b/clusters/cl01tl/manifests/garage/Deployment-garage-webui.yaml index f43da4fea..27e32ac29 100644 --- a/clusters/cl01tl/manifests/garage/Deployment-garage-webui.yaml +++ b/clusters/cl01tl/manifests/garage/Deployment-garage-webui.yaml @@ -59,12 +59,7 @@ spec: name: config readOnly: true subPath: garage.toml - - mountPath: /db - name: db volumes: - configMap: name: garage name: config - - name: db - persistentVolumeClaim: - claimName: garage-db diff --git a/clusters/cl01tl/manifests/garage/ExternalSecret-garage-db-backup-secret-remote.yaml b/clusters/cl01tl/manifests/garage/ExternalSecret-garage-db-backup-secret-remote.yaml new file mode 100644 index 000000000..7a6668774 --- /dev/null +++ b/clusters/cl01tl/manifests/garage/ExternalSecret-garage-db-backup-secret-remote.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: garage-db-backup-secret-remote + namespace: garage + labels: + helm.sh/chart: volsync-target-db-0.7.0 + app.kubernetes.io/instance: garage + app.kubernetes.io/part-of: garage + app.kubernetes.io/version: "0.7.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: garage-db-backup-secret-remote +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/garage/garage-db" + data: + - secretKey: BUCKET_ENDPOINT + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-remote + metadataPolicy: None + property: BUCKET_ENDPOINT + - secretKey: RESTIC_PASSWORD + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-remote + metadataPolicy: None + property: RESTIC_PASSWORD + - secretKey: AWS_DEFAULT_REGION + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/volsync-backups + metadataPolicy: None + property: ACCESS_REGION + - secretKey: AWS_ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/volsync-backups + metadataPolicy: None + property: ACCESS_KEY_ID + - secretKey: AWS_SECRET_ACCESS_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /garage/home-infra/volsync-backups + metadataPolicy: None + property: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/garage/PersistentVolumeClaim-garage-db.yaml b/clusters/cl01tl/manifests/garage/PersistentVolumeClaim-garage-db.yaml index b19f4c0b4..8cdfd078a 100644 --- a/clusters/cl01tl/manifests/garage/PersistentVolumeClaim-garage-db.yaml +++ b/clusters/cl01tl/manifests/garage/PersistentVolumeClaim-garage-db.yaml @@ -1,19 +1,12 @@ -kind: PersistentVolumeClaim apiVersion: v1 +kind: PersistentVolumeClaim metadata: name: garage-db - labels: - app.kubernetes.io/instance: garage - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: garage - helm.sh/chart: garage-4.5.0 - annotations: - helm.sh/resource-policy: keep namespace: garage spec: accessModes: - - "ReadWriteOnce" + - ReadWriteOnce resources: requests: - storage: "50Gi" - storageClassName: "ceph-block" + storage: 50Gi + storageClassName: ceph-block diff --git a/clusters/cl01tl/manifests/garage/ReplicationSource-garage-db-backup-source-external.yaml b/clusters/cl01tl/manifests/garage/ReplicationSource-garage-db-backup-source-external.yaml index 32a05682d..f2d43a628 100644 --- a/clusters/cl01tl/manifests/garage/ReplicationSource-garage-db-backup-source-external.yaml +++ b/clusters/cl01tl/manifests/garage/ReplicationSource-garage-db-backup-source-external.yaml @@ -26,4 +26,4 @@ spec: copyMethod: Snapshot storageClassName: ceph-block volumeSnapshotClassName: ceph-blockpool-snapshot - cacheCapacity: 1Gi + cacheCapacity: 10Gi diff --git a/clusters/cl01tl/manifests/garage/ReplicationSource-garage-db-backup-source-remote.yaml b/clusters/cl01tl/manifests/garage/ReplicationSource-garage-db-backup-source-remote.yaml new file mode 100644 index 000000000..088703090 --- /dev/null +++ b/clusters/cl01tl/manifests/garage/ReplicationSource-garage-db-backup-source-remote.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: garage-db-backup-source-remote + namespace: garage + labels: + helm.sh/chart: volsync-target-db-0.7.0 + app.kubernetes.io/instance: garage + app.kubernetes.io/part-of: garage + app.kubernetes.io/version: "0.7.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: garage-db-backup +spec: + sourcePVC: garage-db + trigger: + schedule: 20 10 * * * + restic: + pruneIntervalDays: 7 + repository: garage-db-backup-secret-remote + retain: + daily: 7 + hourly: 0 + monthly: 3 + weekly: 4 + yearly: 1 + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 10Gi diff --git a/clusters/cl01tl/manifests/volsync/Deployment-volsync.yaml b/clusters/cl01tl/manifests/volsync/Deployment-volsync.yaml index 370621990..ad4013e18 100644 --- a/clusters/cl01tl/manifests/volsync/Deployment-volsync.yaml +++ b/clusters/cl01tl/manifests/volsync/Deployment-volsync.yaml @@ -10,7 +10,7 @@ metadata: app.kubernetes.io/version: "0.14.0" app.kubernetes.io/managed-by: Helm spec: - replicas: 0 + replicas: 2 selector: matchLabels: control-plane: volsync-controller -- 2.49.1