diff --git a/clusters/cl01tl/helm/vaultwarden/Chart.lock b/clusters/cl01tl/helm/vaultwarden/Chart.lock index b491c0adb..b24d52df6 100644 --- a/clusters/cl01tl/helm/vaultwarden/Chart.lock +++ b/clusters/cl01tl/helm/vaultwarden/Chart.lock @@ -8,5 +8,8 @@ dependencies: - name: postgres-cluster repository: oci://harbor.alexlebens.net/helm-charts version: 7.1.3 -digest: sha256:66315a211447f8ad86d54d83b7b687186001d2aea78491c6c4e3786bff9f1e70 -generated: "2025-12-17T16:13:26.308456726Z" +- name: volsync-target + repository: oci://harbor.alexlebens.net/helm-charts + version: 0.5.0 +digest: sha256:278b78abd5050dc1f51a4e0d14f2f385d39c2ae657a843553c4a23f2ae109da9 +generated: "2025-12-17T13:20:59.914523-06:00" diff --git a/clusters/cl01tl/helm/vaultwarden/Chart.yaml b/clusters/cl01tl/helm/vaultwarden/Chart.yaml index a316ca0b1..2da21ce9c 100644 --- a/clusters/cl01tl/helm/vaultwarden/Chart.yaml +++ b/clusters/cl01tl/helm/vaultwarden/Chart.yaml @@ -30,5 +30,9 @@ dependencies: alias: postgres-18-cluster version: 7.1.3 repository: oci://harbor.alexlebens.net/helm-charts + - name: volsync-target + alias: volsync-target-data + version: 0.5.0 + repository: oci://harbor.alexlebens.net/helm-charts icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/vaultwarden.png appVersion: 1.34.3 diff --git a/clusters/cl01tl/helm/vaultwarden/templates/external-secret.yaml b/clusters/cl01tl/helm/vaultwarden/templates/external-secret.yaml index e65c0077c..962327b42 100644 --- a/clusters/cl01tl/helm/vaultwarden/templates/external-secret.yaml +++ b/clusters/cl01tl/helm/vaultwarden/templates/external-secret.yaml @@ -20,63 +20,6 @@ spec: metadataPolicy: None property: token ---- -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: vaultwarden-data-backup-secret - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: vaultwarden-data-backup-secret - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - target: - template: - mergePolicy: Merge - engineVersion: v2 - data: - RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/vaultwarden/vaultwarden-data" - data: - - secretKey: BUCKET_ENDPOINT - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/volsync/restic/config - metadataPolicy: None - property: S3_BUCKET_ENDPOINT - - secretKey: RESTIC_PASSWORD - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/volsync/restic/config - metadataPolicy: None - property: RESTIC_PASSWORD - - secretKey: AWS_DEFAULT_REGION - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/volsync/restic/config - metadataPolicy: None - property: AWS_DEFAULT_REGION - - secretKey: AWS_ACCESS_KEY_ID - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/volsync-backups - metadataPolicy: None - property: access_key - - secretKey: AWS_SECRET_ACCESS_KEY - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/volsync-backups - metadataPolicy: None - property: secret_key - --- apiVersion: external-secrets.io/v1 kind: ExternalSecret diff --git a/clusters/cl01tl/helm/vaultwarden/templates/replication-source.yaml b/clusters/cl01tl/helm/vaultwarden/templates/replication-source.yaml deleted file mode 100644 index a2ba4bcdd..000000000 --- a/clusters/cl01tl/helm/vaultwarden/templates/replication-source.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: volsync.backube/v1alpha1 -kind: ReplicationSource -metadata: - name: vaultwarden-data-backup-source - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: vaultwarden-data-backup-source - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - sourcePVC: vaultwarden-data - trigger: - schedule: 0 4 * * * - restic: - pruneIntervalDays: 7 - repository: vaultwarden-data-backup-secret - retain: - hourly: 1 - daily: 3 - weekly: 2 - monthly: 2 - yearly: 4 - copyMethod: Snapshot - storageClassName: ceph-block - volumeSnapshotClassName: ceph-blockpool-snapshot diff --git a/clusters/cl01tl/helm/vaultwarden/values.yaml b/clusters/cl01tl/helm/vaultwarden/values.yaml index 307a692cd..50e072376 100644 --- a/clusters/cl01tl/helm/vaultwarden/values.yaml +++ b/clusters/cl01tl/helm/vaultwarden/values.yaml @@ -103,3 +103,11 @@ postgres-18-cluster: # immediate: true # schedule: "0 0 4 * * SAT" # backupName: garage-remote +volsync-target-data: + pvcTarget: vaultwarden-data + local: + schedule: 0 0 0 * * * + remote: + schedule: 0 0 0 * * * + external: + schedule: 0 0 0 * * *