From f991c3093a0dee9b971b9156736c566f4eede3d9 Mon Sep 17 00:00:00 2001 From: alexlebens Date: Tue, 2 Jul 2024 18:12:12 -0500 Subject: [PATCH] add replication source to audiobookshelf --- .../templates/external-secret.yaml | 23 ++++++++++ .../templates/replication-source.yaml | 46 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 clusters/cl01tl/applications/audiobookshelf/templates/external-secret.yaml create mode 100644 clusters/cl01tl/applications/audiobookshelf/templates/replication-source.yaml diff --git a/clusters/cl01tl/applications/audiobookshelf/templates/external-secret.yaml b/clusters/cl01tl/applications/audiobookshelf/templates/external-secret.yaml new file mode 100644 index 000000000..654790e03 --- /dev/null +++ b/clusters/cl01tl/applications/audiobookshelf/templates/external-secret.yaml @@ -0,0 +1,23 @@ +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: rclone-backup-secret + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: rclone-backup-secret + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: backup + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: rclone.conf + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /cl01tl/volsync/rclone/config + metadataPolicy: None + property: rclone.conf diff --git a/clusters/cl01tl/applications/audiobookshelf/templates/replication-source.yaml b/clusters/cl01tl/applications/audiobookshelf/templates/replication-source.yaml new file mode 100644 index 000000000..58dd64041 --- /dev/null +++ b/clusters/cl01tl/applications/audiobookshelf/templates/replication-source.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: audiobookshelf-config-source + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: audiobookshelf-config-source + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: backup + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + sourcePVC: audiobookshelf-config + trigger: + schedule: "*/10 * * * *" + rclone: + rcloneConfigSection: aws-s3-bucket + rcloneDestPath: cl01tl-volsync-backups/audiobookshelf/audiobookshelf-config + rcloneConfig: rclone-backup-secret + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: audiobookshelf-metadata-source + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: audiobookshelf-metadata-source + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: backup + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + sourcePVC: audiobookshelf-metadata + trigger: + schedule: "*/10 * * * *" + rclone: + rcloneConfigSection: aws-s3-bucket + rcloneDestPath: cl01tl-volsync-backups/audiobookshelf/audiobookshelf-metadata + rcloneConfig: rclone-backup-secret + copyMethod: Snapshot + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot