diff --git a/clusters/cl01tl/helm/roundcube/Chart.lock b/clusters/cl01tl/helm/roundcube/Chart.lock index 69a93dbc1..e7b67a96f 100644 --- a/clusters/cl01tl/helm/roundcube/Chart.lock +++ b/clusters/cl01tl/helm/roundcube/Chart.lock @@ -5,5 +5,8 @@ dependencies: - name: postgres-cluster repository: oci://harbor.alexlebens.net/helm-charts version: 7.1.3 -digest: sha256:a6968fb1b6cdceb6ca4da497524ed86979fffe604186b5fbdc2cd3b24ea2e197 -generated: "2025-12-17T16:12:37.159933773Z" +- name: volsync-target + repository: oci://harbor.alexlebens.net/helm-charts + version: 0.5.0 +digest: sha256:4c762abe68b0a21bad7c3ba9a86c6f2b4d9936136d3071711f1e5ea3f94dc321 +generated: "2025-12-17T13:20:10.972807-06:00" diff --git a/clusters/cl01tl/helm/roundcube/Chart.yaml b/clusters/cl01tl/helm/roundcube/Chart.yaml index 1281e9c05..9a5f80b8b 100644 --- a/clusters/cl01tl/helm/roundcube/Chart.yaml +++ b/clusters/cl01tl/helm/roundcube/Chart.yaml @@ -23,5 +23,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/roundcube.png appVersion: 1.6.11 diff --git a/clusters/cl01tl/helm/roundcube/templates/external-secret.yaml b/clusters/cl01tl/helm/roundcube/templates/external-secret.yaml index c3a86e5b3..fbc4580e8 100644 --- a/clusters/cl01tl/helm/roundcube/templates/external-secret.yaml +++ b/clusters/cl01tl/helm/roundcube/templates/external-secret.yaml @@ -20,63 +20,6 @@ spec: metadataPolicy: None property: DES_KEY ---- -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: roundcube-data-backup-secret - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: roundcube-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 }}` }}/roundcube/roundcube-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/roundcube/templates/replication-source.yaml b/clusters/cl01tl/helm/roundcube/templates/replication-source.yaml deleted file mode 100644 index a7383cd31..000000000 --- a/clusters/cl01tl/helm/roundcube/templates/replication-source.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: volsync.backube/v1alpha1 -kind: ReplicationSource -metadata: - name: roundcube-data-backup-source - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: roundcube-data-backup-source - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - sourcePVC: roundcube-data - trigger: - schedule: 0 4 * * * - restic: - pruneIntervalDays: 7 - repository: roundcube-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/roundcube/values.yaml b/clusters/cl01tl/helm/roundcube/values.yaml index d67184bce..c80984ec3 100644 --- a/clusters/cl01tl/helm/roundcube/values.yaml +++ b/clusters/cl01tl/helm/roundcube/values.yaml @@ -173,6 +173,17 @@ roundcube: targetPort: 80 protocol: HTTP persistence: + config: + enabled: true + type: configMap + name: roundcube-config + advancedMounts: + main: + nginx: + - path: /etc/nginx/conf.d/default.conf + readOnly: true + mountPropagation: None + subPath: default.conf data: forceRename: roundcube-data storageClass: ceph-block @@ -194,17 +205,6 @@ roundcube: main: - path: /tmp/roundcube-temp readOnly: false - config: - enabled: true - type: configMap - name: roundcube-config - advancedMounts: - main: - nginx: - - path: /etc/nginx/conf.d/default.conf - readOnly: true - mountPropagation: None - subPath: default.conf postgres-18-cluster: mode: recovery cluster: @@ -259,3 +259,5 @@ postgres-18-cluster: # immediate: true # schedule: "0 0 4 * * SAT" # backupName: garage-remote +volsync-target-data: + pvcTarget: roundcube-data