diff --git a/clusters/cl01tl/manifests/audiobookshelf/Deployment-audiobookshelf.yaml b/clusters/cl01tl/manifests/audiobookshelf/Deployment-audiobookshelf.yaml index 34b25453a..2826b5339 100644 --- a/clusters/cl01tl/manifests/audiobookshelf/Deployment-audiobookshelf.yaml +++ b/clusters/cl01tl/manifests/audiobookshelf/Deployment-audiobookshelf.yaml @@ -70,34 +70,29 @@ spec: cpu: 10m memory: 128Mi volumeMounts: - - mountPath: /mnt/store/ + - mountPath: /mnt/store/Audiobooks name: audiobooks - - mountPath: /mnt/Audiobooks - name: audiobooks-data - - mountPath: /mnt/Books - name: books-data + - mountPath: /mnt/store/Books + name: books - mountPath: /config name: config - mountPath: /metadata name: metadata - - mountPath: /mnt/Podcasts - name: podcasts-data + - mountPath: /mnt/store/Podcasts + name: podcasts volumes: - name: audiobooks persistentVolumeClaim: - claimName: audiobookshelf-nfs-storage - - name: audiobooks-data + claimName: audiobookshelf-audiobooks-nfs-storage + - name: books persistentVolumeClaim: - claimName: audiobookshelf-audiobooks - - name: books-data - persistentVolumeClaim: - claimName: audiobookshelf-books + claimName: audiobookshelf-books-nfs-storage - name: config persistentVolumeClaim: claimName: audiobookshelf-config - name: metadata persistentVolumeClaim: claimName: audiobookshelf-metadata - - name: podcasts-data + - name: podcasts persistentVolumeClaim: claimName: audiobookshelf-podcasts-nfs-storage diff --git a/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-audiobooks-backup-secret-local.yaml b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-audiobooks-backup-secret-local.yaml new file mode 100644 index 000000000..e6959806b --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-audiobooks-backup-secret-local.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: audiobookshelf-audiobooks-backup-secret-local + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-audiobooks-0.8.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.8.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-audiobooks-backup-secret-local +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/audiobookshelf/audiobookshelf-audiobooks" + 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-books-backup-secret-local.yaml b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-books-backup-secret-local.yaml new file mode 100644 index 000000000..dd059e7d2 --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ExternalSecret-audiobookshelf-books-backup-secret-local.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: audiobookshelf-books-backup-secret-local + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-books-0.8.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.8.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-books-backup-secret-local +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/audiobookshelf/audiobookshelf-books" + 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/PersistentVolume-audiobookshelf-audiobooks-nfs-storage.yaml b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolume-audiobookshelf-audiobooks-nfs-storage.yaml new file mode 100644 index 000000000..1558ec6b0 --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolume-audiobookshelf-audiobooks-nfs-storage.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: audiobookshelf-audiobooks-nfs-storage + namespace: audiobookshelf + labels: + app.kubernetes.io/name: audiobookshelf-audiobooks-nfs-storage + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf +spec: + persistentVolumeReclaimPolicy: Retain + storageClassName: nfs-client + capacity: + storage: 1Gi + accessModes: + - ReadWriteMany + nfs: + path: /volume2/Storage/Audiobooks + server: synologybond.alexlebens.net + mountOptions: + - vers=4 + - minorversion=1 + - noac diff --git a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolume-audiobookshelf-nfs-storage.yaml b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolume-audiobookshelf-books-nfs-storage.yaml similarity index 76% rename from clusters/cl01tl/manifests/audiobookshelf/PersistentVolume-audiobookshelf-nfs-storage.yaml rename to clusters/cl01tl/manifests/audiobookshelf/PersistentVolume-audiobookshelf-books-nfs-storage.yaml index b37ec00ea..27d6d81b2 100644 --- a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolume-audiobookshelf-nfs-storage.yaml +++ b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolume-audiobookshelf-books-nfs-storage.yaml @@ -1,10 +1,10 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: audiobookshelf-nfs-storage + name: audiobookshelf-books-nfs-storage namespace: audiobookshelf labels: - app.kubernetes.io/name: audiobookshelf-nfs-storage + app.kubernetes.io/name: audiobookshelf-books-nfs-storage app.kubernetes.io/instance: audiobookshelf app.kubernetes.io/part-of: audiobookshelf spec: @@ -15,7 +15,7 @@ spec: accessModes: - ReadWriteMany nfs: - path: /volume2/Storage + path: /volume2/Storage/Books server: synologybond.alexlebens.net mountOptions: - vers=4 diff --git a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-audiobooks-nfs-storage.yaml b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-audiobooks-nfs-storage.yaml new file mode 100644 index 000000000..4c5b34384 --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-audiobooks-nfs-storage.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: audiobookshelf-audiobooks-nfs-storage + namespace: audiobookshelf + labels: + app.kubernetes.io/name: audiobookshelf-audiobooks-nfs-storage + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf +spec: + volumeName: audiobookshelf-audiobooks-nfs-storage + storageClassName: nfs-client + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi diff --git a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-audiobooks.yaml b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-audiobooks.yaml deleted file mode 100644 index 4651daede..000000000 --- a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-audiobooks.yaml +++ /dev/null @@ -1,19 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: audiobookshelf-audiobooks - labels: - app.kubernetes.io/instance: audiobookshelf - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: audiobookshelf - helm.sh/chart: audiobookshelf-4.6.2 - annotations: - helm.sh/resource-policy: keep - namespace: audiobookshelf -spec: - accessModes: - - "ReadWriteOnce" - resources: - requests: - storage: "40Gi" - storageClassName: "ceph-block" diff --git a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-nfs-storage.yaml b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-books-nfs-storage.yaml similarity index 66% rename from clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-nfs-storage.yaml rename to clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-books-nfs-storage.yaml index ff7b612f3..a432e6a59 100644 --- a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-nfs-storage.yaml +++ b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-books-nfs-storage.yaml @@ -1,14 +1,14 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: audiobookshelf-nfs-storage + name: audiobookshelf-books-nfs-storage namespace: audiobookshelf labels: - app.kubernetes.io/name: audiobookshelf-nfs-storage + app.kubernetes.io/name: audiobookshelf-books-nfs-storage app.kubernetes.io/instance: audiobookshelf app.kubernetes.io/part-of: audiobookshelf spec: - volumeName: audiobookshelf-nfs-storage + volumeName: audiobookshelf-books-nfs-storage storageClassName: nfs-client accessModes: - ReadWriteMany diff --git a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-books.yaml b/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-books.yaml deleted file mode 100644 index 19b4f417d..000000000 --- a/clusters/cl01tl/manifests/audiobookshelf/PersistentVolumeClaim-audiobookshelf-books.yaml +++ /dev/null @@ -1,19 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: audiobookshelf-books - labels: - app.kubernetes.io/instance: audiobookshelf - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: audiobookshelf - helm.sh/chart: audiobookshelf-4.6.2 - annotations: - helm.sh/resource-policy: keep - namespace: audiobookshelf -spec: - accessModes: - - "ReadWriteOnce" - resources: - requests: - storage: "10Gi" - storageClassName: "ceph-block" diff --git a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-audiobooks-backup-source-local.yaml b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-audiobooks-backup-source-local.yaml new file mode 100644 index 000000000..3218abb0c --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-audiobooks-backup-source-local.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: audiobookshelf-audiobooks-backup-source-local + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-audiobooks-0.8.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.8.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-audiobooks-backup +spec: + sourcePVC: audiobookshelf-audiobooks + trigger: + schedule: 14 8 * * * + restic: + pruneIntervalDays: 7 + repository: audiobookshelf-audiobooks-backup-secret-local + retain: + daily: 7 + hourly: 0 + monthly: 3 + weekly: 4 + yearly: 1 + copyMethod: Direct + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-books-backup-source-local.yaml b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-books-backup-source-local.yaml new file mode 100644 index 000000000..2cbaace27 --- /dev/null +++ b/clusters/cl01tl/manifests/audiobookshelf/ReplicationSource-audiobookshelf-books-backup-source-local.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: audiobookshelf-books-backup-source-local + namespace: audiobookshelf + labels: + helm.sh/chart: volsync-target-books-0.8.0 + app.kubernetes.io/instance: audiobookshelf + app.kubernetes.io/part-of: audiobookshelf + app.kubernetes.io/version: "0.8.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: audiobookshelf-books-backup +spec: + sourcePVC: audiobookshelf-books + trigger: + schedule: 14 8 * * * + restic: + pruneIntervalDays: 7 + repository: audiobookshelf-books-backup-secret-local + retain: + daily: 7 + hourly: 0 + monthly: 3 + weekly: 4 + yearly: 1 + copyMethod: Direct + storageClassName: ceph-block + volumeSnapshotClassName: ceph-blockpool-snapshot + cacheCapacity: 1Gi diff --git a/clusters/cl01tl/manifests/booklore/ReplicationDestination-booklore-data-replication-destination.yaml b/clusters/cl01tl/manifests/booklore/ReplicationDestination-booklore-data-replication-destination.yaml deleted file mode 100644 index 27d53f1b3..000000000 --- a/clusters/cl01tl/manifests/booklore/ReplicationDestination-booklore-data-replication-destination.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: volsync.backube/v1alpha1 -kind: ReplicationDestination -metadata: - name: booklore-data-replication-destination - namespace: booklore - labels: - app.kubernetes.io/name: booklore-data-replication-destination - app.kubernetes.io/instance: booklore - app.kubernetes.io/part-of: booklore -spec: - rsyncTLS: - copyMethod: Direct - accessModes: ["ReadWriteMany"] - destinationPVC: booklore-books-nfs-storage - keySecret: booklore-data-replication-secret diff --git a/clusters/cl01tl/manifests/booklore/ReplicationSource-booklore-data-replication-source.yaml b/clusters/cl01tl/manifests/booklore/ReplicationSource-booklore-data-replication-source.yaml deleted file mode 100644 index 805e72232..000000000 --- a/clusters/cl01tl/manifests/booklore/ReplicationSource-booklore-data-replication-source.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: volsync.backube/v1alpha1 -kind: ReplicationSource -metadata: - name: booklore-data-replication-source - namespace: booklore - labels: - app.kubernetes.io/name: booklore-data-replication-source - app.kubernetes.io/instance: booklore - app.kubernetes.io/part-of: booklore -spec: - sourcePVC: booklore-data - trigger: - schedule: "0 0 * * *" - rsyncTLS: - keySecret: booklore-data-replication-secret - address: volsync-rsync-tls-dst-booklore-data-replication-destination - copyMethod: Snapshot