diff --git a/clusters/cl01tl/manifests/gitea/ReplicationSource-gitea-shared-storage-backup-source-local.yaml b/clusters/cl01tl/manifests/gitea/ReplicationSource-gitea-shared-storage-backup-source-local.yaml index dc17f48f0..69db82417 100644 --- a/clusters/cl01tl/manifests/gitea/ReplicationSource-gitea-shared-storage-backup-source-local.yaml +++ b/clusters/cl01tl/manifests/gitea/ReplicationSource-gitea-shared-storage-backup-source-local.yaml @@ -23,6 +23,11 @@ spec: monthly: 0 weekly: 3 yearly: 0 + moverSecurityContext: + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + runAsGroup: 1000 + runAsUser: 1000 copyMethod: Snapshot storageClassName: ceph-filesystem volumeSnapshotClassName: ceph-filesystem-snapshot diff --git a/clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-data-backup-secret.yaml b/clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-backup-secret-external.yaml similarity index 73% rename from clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-data-backup-secret.yaml rename to clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-backup-secret-external.yaml index 17beb4753..4ce850c8e 100644 --- a/clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-data-backup-secret.yaml +++ b/clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-backup-secret-external.yaml @@ -1,12 +1,15 @@ apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: - name: karakeep-data-backup-secret + name: karakeep-backup-secret-external namespace: karakeep labels: - app.kubernetes.io/name: karakeep-data-backup-secret + helm.sh/chart: volsync-target-data-0.5.0 app.kubernetes.io/instance: karakeep app.kubernetes.io/part-of: karakeep + app.kubernetes.io/version: "0.5.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: karakeep-backup-secret-external spec: secretStoreRef: kind: ClusterSecretStore @@ -16,27 +19,27 @@ spec: mergePolicy: Merge engineVersion: v2 data: - RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/karakeep/karakeep-data" + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/karakeep/karakeep" data: - secretKey: BUCKET_ENDPOINT 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/karakeep/ExternalSecret-karakeep-backup-secret-local.yaml b/clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-backup-secret-local.yaml new file mode 100644 index 000000000..50efe70d5 --- /dev/null +++ b/clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-backup-secret-local.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: karakeep-backup-secret-local + namespace: karakeep + labels: + helm.sh/chart: volsync-target-data-0.5.0 + app.kubernetes.io/instance: karakeep + app.kubernetes.io/part-of: karakeep + app.kubernetes.io/version: "0.5.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: karakeep-backup-secret-local +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/karakeep/karakeep" + 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/karakeep/ExternalSecret-karakeep-backup-secret-remote.yaml b/clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-backup-secret-remote.yaml new file mode 100644 index 000000000..c54d50649 --- /dev/null +++ b/clusters/cl01tl/manifests/karakeep/ExternalSecret-karakeep-backup-secret-remote.yaml @@ -0,0 +1,58 @@ +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: karakeep-backup-secret-remote + namespace: karakeep + labels: + helm.sh/chart: volsync-target-data-0.5.0 + app.kubernetes.io/instance: karakeep + app.kubernetes.io/part-of: karakeep + app.kubernetes.io/version: "0.5.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: karakeep-backup-secret-remote +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + target: + template: + mergePolicy: Merge + engineVersion: v2 + data: + RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/karakeep/karakeep" + 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/karakeep/ReplicationSource-karakeep-data-backup-source.yaml b/clusters/cl01tl/manifests/karakeep/ReplicationSource-karakeep-backup-source-external.yaml similarity index 63% rename from clusters/cl01tl/manifests/karakeep/ReplicationSource-karakeep-data-backup-source.yaml rename to clusters/cl01tl/manifests/karakeep/ReplicationSource-karakeep-backup-source-external.yaml index b09a05875..d03b262d8 100644 --- a/clusters/cl01tl/manifests/karakeep/ReplicationSource-karakeep-data-backup-source.yaml +++ b/clusters/cl01tl/manifests/karakeep/ReplicationSource-karakeep-backup-source-external.yaml @@ -1,25 +1,29 @@ apiVersion: volsync.backube/v1alpha1 kind: ReplicationSource metadata: - name: karakeep-data-backup-source + name: karakeep-backup-source-external namespace: karakeep labels: - app.kubernetes.io/name: karakeep-data-backup-source + helm.sh/chart: volsync-target-data-0.5.0 app.kubernetes.io/instance: karakeep app.kubernetes.io/part-of: karakeep + app.kubernetes.io/version: "0.5.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: karakeep-backup spec: sourcePVC: karakeep trigger: schedule: 0 4 * * * restic: pruneIntervalDays: 7 - repository: karakeep-data-backup-secret + repository: karakeep-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/karakeep/ReplicationSource-karakeep-backup-source-local.yaml b/clusters/cl01tl/manifests/karakeep/ReplicationSource-karakeep-backup-source-local.yaml new file mode 100644 index 000000000..e4a60c31c --- /dev/null +++ b/clusters/cl01tl/manifests/karakeep/ReplicationSource-karakeep-backup-source-local.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: karakeep-backup-source-local + namespace: karakeep + labels: + helm.sh/chart: volsync-target-data-0.5.0 + app.kubernetes.io/instance: karakeep + app.kubernetes.io/part-of: karakeep + app.kubernetes.io/version: "0.5.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: karakeep-backup +spec: + sourcePVC: karakeep + trigger: + schedule: 0 2 * * * + restic: + pruneIntervalDays: 7 + repository: karakeep-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/karakeep/ReplicationSource-karakeep-backup-source-remote.yaml b/clusters/cl01tl/manifests/karakeep/ReplicationSource-karakeep-backup-source-remote.yaml new file mode 100644 index 000000000..06fdfe8b7 --- /dev/null +++ b/clusters/cl01tl/manifests/karakeep/ReplicationSource-karakeep-backup-source-remote.yaml @@ -0,0 +1,29 @@ +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: karakeep-backup-source-remote + namespace: karakeep + labels: + helm.sh/chart: volsync-target-data-0.5.0 + app.kubernetes.io/instance: karakeep + app.kubernetes.io/part-of: karakeep + app.kubernetes.io/version: "0.5.0" + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: karakeep-backup +spec: + sourcePVC: karakeep + trigger: + schedule: 0 3 * * * + restic: + pruneIntervalDays: 7 + repository: karakeep-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