move volsync to chart
This commit is contained in:
@@ -2,5 +2,11 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
digest: sha256:977ed15091e9ed30d647a626214701d22f3a8a5232a900e33f753cc7e090042f
|
- name: volsync-target
|
||||||
generated: "2025-12-05T17:02:13.674405673Z"
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
|
version: 0.3.0
|
||||||
|
- name: volsync-target
|
||||||
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
|
version: 0.3.0
|
||||||
|
digest: sha256:88e0d8008795451a64f3a2e4fa4fc120d48cef4badb4305e8e60afbb494352c5
|
||||||
|
generated: "2025-12-15T18:19:02.989735-06:00"
|
||||||
|
|||||||
@@ -19,5 +19,13 @@ dependencies:
|
|||||||
alias: audiobookshelf
|
alias: audiobookshelf
|
||||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
|
- name: volsync-target
|
||||||
|
alias: volsync-target-config
|
||||||
|
version: 0.3.0
|
||||||
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
|
- name: volsync-target
|
||||||
|
alias: volsync-target-metadata
|
||||||
|
version: 0.3.0
|
||||||
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png
|
||||||
appVersion: 2.31.0
|
appVersion: 2.31.0
|
||||||
|
|||||||
@@ -19,117 +19,3 @@ spec:
|
|||||||
key: /cl01tl/audiobookshelf/apprise
|
key: /cl01tl/audiobookshelf/apprise
|
||||||
metadataPolicy: None
|
metadataPolicy: None
|
||||||
property: ntfy-url
|
property: ntfy-url
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: audiobookshelf-config-backup-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: audiobookshelf-config-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 }}` }}/audiobookshelf/audiobookshelf-config"
|
|
||||||
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
|
|
||||||
metadata:
|
|
||||||
name: audiobookshelf-metadata-backup-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: audiobookshelf-metadata-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 }}` }}/audiobookshelf/audiobookshelf-metadata"
|
|
||||||
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
|
|
||||||
|
|||||||
@@ -1,24 +1,5 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
|
||||||
name: audiobookshelf-nfs-storage-backup
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: audiobookshelf-nfs-storage-backup
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
volumeMode: Filesystem
|
|
||||||
storageClassName: nfs-client
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
metadata:
|
||||||
name: audiobookshelf-nfs-storage
|
name: audiobookshelf-nfs-storage
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
apiVersion: volsync.backube/v1alpha1
|
|
||||||
kind: ReplicationSource
|
|
||||||
metadata:
|
|
||||||
name: audiobookshelf-config-backup-source
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: audiobookshelf-config-backup-source
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
sourcePVC: audiobookshelf-config
|
|
||||||
trigger:
|
|
||||||
schedule: 0 4 * * *
|
|
||||||
restic:
|
|
||||||
pruneIntervalDays: 7
|
|
||||||
repository: audiobookshelf-config-backup-secret
|
|
||||||
retain:
|
|
||||||
hourly: 1
|
|
||||||
daily: 3
|
|
||||||
weekly: 2
|
|
||||||
monthly: 2
|
|
||||||
yearly: 4
|
|
||||||
copyMethod: Snapshot
|
|
||||||
storageClassName: ceph-block
|
|
||||||
volumeSnapshotClassName: ceph-blockpool-snapshot
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: volsync.backube/v1alpha1
|
|
||||||
kind: ReplicationSource
|
|
||||||
metadata:
|
|
||||||
name: audiobookshelf-metadata-backup-source
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: audiobookshelf-metadata-backup-source
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
sourcePVC: audiobookshelf-metadata
|
|
||||||
trigger:
|
|
||||||
schedule: 0 4 * * *
|
|
||||||
restic:
|
|
||||||
pruneIntervalDays: 7
|
|
||||||
repository: audiobookshelf-metadata-backup-secret
|
|
||||||
retain:
|
|
||||||
hourly: 1
|
|
||||||
daily: 3
|
|
||||||
weekly: 2
|
|
||||||
monthly: 2
|
|
||||||
yearly: 4
|
|
||||||
copyMethod: Snapshot
|
|
||||||
storageClassName: ceph-block
|
|
||||||
volumeSnapshotClassName: ceph-blockpool-snapshot
|
|
||||||
@@ -59,6 +59,7 @@ audiobookshelf:
|
|||||||
protocol: HTTP
|
protocol: HTTP
|
||||||
persistence:
|
persistence:
|
||||||
config:
|
config:
|
||||||
|
forceRename: audiobookshelf-config
|
||||||
storageClass: ceph-block
|
storageClass: ceph-block
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
size: 2Gi
|
size: 2Gi
|
||||||
@@ -69,6 +70,7 @@ audiobookshelf:
|
|||||||
- path: /config
|
- path: /config
|
||||||
readOnly: false
|
readOnly: false
|
||||||
metadata:
|
metadata:
|
||||||
|
forceRename: audiobookshelf-metadata
|
||||||
storageClass: ceph-block
|
storageClass: ceph-block
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
@@ -78,13 +80,6 @@ audiobookshelf:
|
|||||||
main:
|
main:
|
||||||
- path: /metadata
|
- path: /metadata
|
||||||
readOnly: false
|
readOnly: false
|
||||||
backup:
|
|
||||||
existingClaim: audiobookshelf-nfs-storage-backup
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /metadata/backups
|
|
||||||
readOnly: false
|
|
||||||
audiobooks:
|
audiobooks:
|
||||||
existingClaim: audiobookshelf-nfs-storage
|
existingClaim: audiobookshelf-nfs-storage
|
||||||
advancedMounts:
|
advancedMounts:
|
||||||
@@ -92,3 +87,7 @@ audiobookshelf:
|
|||||||
main:
|
main:
|
||||||
- path: /mnt/store/
|
- path: /mnt/store/
|
||||||
readOnly: false
|
readOnly: false
|
||||||
|
volsync-target-config:
|
||||||
|
pvcTarget: audiobookshelf-config
|
||||||
|
volsync-target-metadata:
|
||||||
|
pvcTarget: audiobookshelf-metadata
|
||||||
|
|||||||
Reference in New Issue
Block a user