diff --git a/clusters/cl01tl/manifests/audiobookshelf/Deployment-audiobookshelf.yaml b/clusters/cl01tl/manifests/audiobookshelf/Deployment-audiobookshelf.yaml index 6517d907a..a45237bdb 100644 --- a/clusters/cl01tl/manifests/audiobookshelf/Deployment-audiobookshelf.yaml +++ b/clusters/cl01tl/manifests/audiobookshelf/Deployment-audiobookshelf.yaml @@ -72,8 +72,6 @@ spec: volumeMounts: - mountPath: /mnt/store/ name: audiobooks - - mountPath: /metadata/backups - name: backup - mountPath: /config name: config - mountPath: /metadata @@ -82,9 +80,6 @@ spec: - name: audiobooks persistentVolumeClaim: claimName: audiobookshelf-nfs-storage - - name: backup - persistentVolumeClaim: - claimName: audiobookshelf-nfs-storage-backup - name: config persistentVolumeClaim: claimName: audiobookshelf-config diff --git a/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret.yaml b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret-external.yaml similarity index 73% rename from clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret.yaml rename to clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret-external.yaml index cd8f00a23..ccff93662 100644 --- a/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret.yaml +++ b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret-external.yaml @@ -1,12 +1,15 @@ apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: - name: audiobookshelf-config-backup-secret + name: audiobookshelf-config-backup-secret-external namespace: audiobookshelf labels: - app.kubernetes.io/name: audiobookshelf-config-backup-secret + helm.sh/chart: volsync-target-config-0.3.0 app.kubernetes.io/instance: audiobookshelf app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-config-backup-secret-external spec: secretStoreRef: kind: ClusterSecretStore @@ -22,21 +25,21 @@ spec: remoteRef: conversionStrategy: Default decodingStrategy: None - key: /cl01tl/volsync/restic/config + key: /volsync/restic/digital-ocean metadataPolicy: None - property: S3_BUCKET_ENDPOINT + property: BUCKET_ENDPOINT - secretKey: RESTIC_PASSWORD remoteRef: conversionStrategy: Default decodingStrategy: None - key: /cl01tl/volsync/restic/config + key: /volsync/restic/digital-ocean metadataPolicy: None property: RESTIC_PASSWORD - secretKey: AWS_DEFAULT_REGION remoteRef: conversionStrategy: Default decodingStrategy: None - key: /cl01tl/volsync/restic/config + key: /digital-ocean/home-infra/volsync-backups metadataPolicy: None property: AWS_DEFAULT_REGION - secretKey: AWS_ACCESS_KEY_ID @@ -45,11 +48,11 @@ spec: decodingStrategy: None key: /digital-ocean/home-infra/volsync-backups metadataPolicy: None - property: access_key + property: AWS_ACCESS_KEY_ID - secretKey: AWS_SECRET_ACCESS_KEY remoteRef: conversionStrategy: Default decodingStrategy: None key: /digital-ocean/home-infra/volsync-backups metadataPolicy: None - property: secret_key + property: AWS_SECRET_ACCESS_KEY diff --git a/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret-local.yaml b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret-local.yaml new file mode 100644 index 000000000..c0c69767d --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret-local.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: audiobookshelf-config-backup-secret-local + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-config-0.3.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-config-backup-secret-local +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/audiobookshelf/audiobookshelf-config" + data: + - secretKey: BUCKET_ENDPOINT + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-local + metadataPolicy: None + property: BUCKET_ENDPOINT + - secretKey: RESTIC_PASSWORD + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-local + 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/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret-remote.yaml b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret-remote.yaml new file mode 100644 index 000000000..a48f24318 --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-config-backup-secret-remote.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: audiobookshelf-config-backup-secret-remote + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-config-0.3.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-config-backup-secret-remote +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/audiobookshelf/audiobookshelf-config" + 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/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret.yaml b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret-external.yaml similarity index 76% rename from clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret.yaml rename to clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret-external.yaml index f70fcd8e8..f9afe6203 100644 --- a/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret.yaml +++ b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret-external.yaml @@ -1,12 +1,15 @@ apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: - name: audiobookshelf-metadata-backup-secret + name: audiobookshelf-metadata-backup-secret-external namespace: audiobookshelf labels: - app.kubernetes.io/name: audiobookshelf-metadata-backup-secret + helm.sh/chart: volsync-target-metadata-0.3.0 app.kubernetes.io/instance: audiobookshelf app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-metadata-backup-secret-external spec: secretStoreRef: kind: ClusterSecretStore @@ -22,21 +25,21 @@ spec: remoteRef: conversionStrategy: Default decodingStrategy: None - key: /cl01tl/volsync/restic/config + key: /volsync/restic/digital-ocean metadataPolicy: None - property: S3_BUCKET_ENDPOINT + property: BUCKET_ENDPOINT - secretKey: RESTIC_PASSWORD remoteRef: conversionStrategy: Default decodingStrategy: None - key: /cl01tl/volsync/restic/config + key: /volsync/restic/digital-ocean metadataPolicy: None property: RESTIC_PASSWORD - secretKey: AWS_DEFAULT_REGION remoteRef: conversionStrategy: Default decodingStrategy: None - key: /cl01tl/volsync/restic/config + key: /digital-ocean/home-infra/volsync-backups metadataPolicy: None property: AWS_DEFAULT_REGION - secretKey: AWS_ACCESS_KEY_ID @@ -45,11 +48,11 @@ spec: decodingStrategy: None key: /digital-ocean/home-infra/volsync-backups metadataPolicy: None - property: access_key + property: AWS_ACCESS_KEY_ID - secretKey: AWS_SECRET_ACCESS_KEY remoteRef: conversionStrategy: Default decodingStrategy: None key: /digital-ocean/home-infra/volsync-backups metadataPolicy: None - property: secret_key + property: AWS_SECRET_ACCESS_KEY diff --git a/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret-local.yaml b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret-local.yaml new file mode 100644 index 000000000..151007531 --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret-local.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: audiobookshelf-metadata-backup-secret-local + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-metadata-0.3.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-metadata-backup-secret-local +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/audiobookshelf/audiobookshelf-metadata" + data: + - secretKey: BUCKET_ENDPOINT + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-local + metadataPolicy: None + property: BUCKET_ENDPOINT + - secretKey: RESTIC_PASSWORD + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /volsync/restic/garage-local + 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/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret-remote.yaml b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret-remote.yaml new file mode 100644 index 000000000..a8424a1b8 --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-metadata-backup-secret-remote.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: audiobookshelf-metadata-backup-secret-remote + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-metadata-0.3.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-metadata-backup-secret-remote +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/audiobookshelf/audiobookshelf-metadata" + 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/audiobookshelf/PersistentVolumeClaim-audiobookshelf-nfs-storage-backup.yaml b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-nfs-storage-backup.yaml deleted file mode 100644 index c54e8b6fd..000000000 --- a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-nfs-storage-backup.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: audiobookshelf-nfs-storage-backup - namespace: audiobookshelf - labels: - app.kubernetes.io/name: audiobookshelf-nfs-storage-backup - app.kubernetes.io/instance: audiobookshelf - app.kubernetes.io/part-of: audiobookshelf -spec: - volumeMode: Filesystem - storageClassName: nfs-client - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi diff --git a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source.yaml b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source-external.yaml similarity index 61% rename from clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source.yaml rename to clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source-external.yaml index 6f7aa4603..62b3517b3 100644 --- a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source.yaml +++ b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source-external.yaml @@ -1,25 +1,29 @@ apiVersion: volsync.backube/v1alpha1 kind: ReplicationSource metadata: - name: audiobookshelf-config-backup-source + name: audiobookshelf-config-backup-source-external namespace: audiobookshelf labels: - app.kubernetes.io/name: audiobookshelf-config-backup-source + helm.sh/chart: volsync-target-config-0.3.0 app.kubernetes.io/instance: audiobookshelf app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-config-backup spec: sourcePVC: audiobookshelf-config trigger: schedule: 0 4 * * * restic: pruneIntervalDays: 7 - repository: audiobookshelf-config-backup-secret + repository: audiobookshelf-config-backup-secret-external retain: - hourly: 1 daily: 3 - weekly: 2 + hourly: 1 monthly: 2 + weekly: 2 yearly: 4 copyMethod: Snapshot storageClassName: ceph-block volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source-local.yaml b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source-local.yaml new file mode 100644 index 000000000..09ad19e6e --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source-local.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: audiobookshelf-config-backup-source-local + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-config-0.3.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-config-backup +spec: + sourcePVC: audiobookshelf-config + trigger: + schedule: 0 2 * * * + restic: + pruneIntervalDays: 7 + repository: audiobookshelf-config-backup-secret-local + retain: + daily: 3 + hourly: 1 + monthly: 2 + weekly: 2 + yearly: 4 + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source-remote.yaml b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source-remote.yaml new file mode 100644 index 000000000..46a6f7ae3 --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-config-backup-source-remote.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: audiobookshelf-config-backup-source-remote + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-config-0.3.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-config-backup +spec: + sourcePVC: audiobookshelf-config + trigger: + schedule: 0 3 * * * + restic: + pruneIntervalDays: 7 + repository: audiobookshelf-config-backup-secret-remote + retain: + daily: 3 + hourly: 1 + monthly: 2 + weekly: 2 + yearly: 4 + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source.yaml b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source-external.yaml similarity index 61% rename from clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source.yaml rename to clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source-external.yaml index 330dee71a..f32d13d22 100644 --- a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source.yaml +++ b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source-external.yaml @@ -1,25 +1,29 @@ apiVersion: volsync.backube/v1alpha1 kind: ReplicationSource metadata: - name: audiobookshelf-metadata-backup-source + name: audiobookshelf-metadata-backup-source-external namespace: audiobookshelf labels: - app.kubernetes.io/name: audiobookshelf-metadata-backup-source + helm.sh/chart: volsync-target-metadata-0.3.0 app.kubernetes.io/instance: audiobookshelf app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-metadata-backup spec: sourcePVC: audiobookshelf-metadata trigger: schedule: 0 4 * * * restic: pruneIntervalDays: 7 - repository: audiobookshelf-metadata-backup-secret + repository: audiobookshelf-metadata-backup-secret-external retain: - hourly: 1 daily: 3 - weekly: 2 + hourly: 1 monthly: 2 + weekly: 2 yearly: 4 copyMethod: Snapshot storageClassName: ceph-block volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source-local.yaml b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source-local.yaml new file mode 100644 index 000000000..41d007722 --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source-local.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: audiobookshelf-metadata-backup-source-local + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-metadata-0.3.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-metadata-backup +spec: + sourcePVC: audiobookshelf-metadata + trigger: + schedule: 0 2 * * * + restic: + pruneIntervalDays: 7 + repository: audiobookshelf-metadata-backup-secret-local + retain: + daily: 3 + hourly: 1 + monthly: 2 + weekly: 2 + yearly: 4 + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source-remote.yaml b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source-remote.yaml new file mode 100644 index 000000000..fd3d5d1be --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-metadata-backup-source-remote.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: audiobookshelf-metadata-backup-source-remote + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-metadata-0.3.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.3.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-metadata-backup +spec: + sourcePVC: audiobookshelf-metadata + trigger: + schedule: 0 3 * * * + restic: + pruneIntervalDays: 7 + repository: audiobookshelf-metadata-backup-secret-remote + retain: + daily: 3 + hourly: 1 + monthly: 2 + weekly: 2 + yearly: 4 + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi