mirror of
https://github.com/auricom/home-cluster.git
synced 2025-09-17 18:24:14 +02:00
74 lines
2.6 KiB
YAML
74 lines
2.6 KiB
YAML
---
|
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
|
|
apiVersion: external-secrets.io/v1beta1
|
|
kind: ExternalSecret
|
|
metadata:
|
|
name: "${APP}-volsync"
|
|
spec:
|
|
secretStoreRef:
|
|
kind: ClusterSecretStore
|
|
name: onepassword-connect
|
|
target:
|
|
name: "${APP}-volsync-secret"
|
|
template:
|
|
engineVersion: v2
|
|
data:
|
|
RESTIC_REPOSITORY: s3:https://s3.${SECRET_INTERNAL_DOMAIN}/volsync/${APP}
|
|
RESTIC_PASSWORD: "{{ .RESTIC_PASSWORD }}"
|
|
AWS_ACCESS_KEY_ID: "{{ .AWS_ACCESS_KEY_ID }}"
|
|
AWS_SECRET_ACCESS_KEY: "{{ .AWS_SECRET_ACCESS_KEY }}"
|
|
dataFrom:
|
|
- extract:
|
|
key: volsync-restic-template
|
|
---
|
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/volsync.backube/replicationsource_v1alpha1.json
|
|
apiVersion: volsync.backube/v1alpha1
|
|
kind: ReplicationSource
|
|
metadata:
|
|
name: "${APP}"
|
|
spec:
|
|
sourcePVC: "${APP}"
|
|
trigger:
|
|
schedule: 0 7 * * *
|
|
restic:
|
|
copyMethod: "${VOLSYNC_COPYMETHOD:-Snapshot}"
|
|
pruneIntervalDays: 7
|
|
repository: "${APP}-volsync-secret"
|
|
volumeSnapshotClassName: "${VOLSYNC_SNAPSHOTCLASS:-csi-ceph-blockpool}"
|
|
cacheCapacity: "${VOLSYNC_CACHE_CAPACITY:-8Gi}"
|
|
cacheStorageClassName: "${VOLSYNC_CACHE_SNAPSHOTCLASS:-rook-ceph-block}"
|
|
cacheAccessModes: ["${VOLSYNC_CACHE_ACCESSMODES:-ReadWriteOnce}"]
|
|
storageClassName: "${VOLSYNC_STORAGECLASS:-rook-ceph-block}"
|
|
accessModes: ["${VOLSYNC_ACCESSMODES:-ReadWriteOnce}"]
|
|
moverSecurityContext:
|
|
runAsUser: ${VOLSYNC_UID:-568}
|
|
runAsGroup: ${VOLSYNC_GID:-568}
|
|
fsGroup: ${VOLSYNC_GID:-568}
|
|
retain:
|
|
hourly: 24
|
|
daily: 7
|
|
weekly: 5
|
|
---
|
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/volsync.backube/replicationdestination_v1alpha1.json
|
|
apiVersion: volsync.backube/v1alpha1
|
|
kind: ReplicationDestination
|
|
metadata:
|
|
name: "${APP}-dst"
|
|
spec:
|
|
trigger:
|
|
manual: restore-once
|
|
restic:
|
|
repository: "${APP}-volsync-secret"
|
|
copyMethod: Snapshot # must be Snapshot
|
|
volumeSnapshotClassName: "${VOLSYNC_SNAPSHOTCLASS:-csi-ceph-blockpool}"
|
|
cacheStorageClassName: "${VOLSYNC_CACHE_SNAPSHOTCLASS:-rook-ceph-block}"
|
|
cacheAccessModes: ["${VOLSYNC_CACHE_ACCESSMODES:-ReadWriteOnce}"]
|
|
cacheCapacity: "${VOLSYNC_CACHE_CAPACITY:-8Gi}"
|
|
storageClassName: "${VOLSYNC_STORAGECLASS:-rook-ceph-block}"
|
|
accessModes: ["${VOLSYNC_ACCESSMODES:-ReadWriteOnce}"]
|
|
capacity: "${VOLSYNC_CAPACITY}"
|
|
moverSecurityContext:
|
|
runAsUser: ${VOLSYNC_UID:-568}
|
|
runAsGroup: ${VOLSYNC_GID:-568}
|
|
fsGroup: ${VOLSYNC_GID:-568}
|