enable backups

This commit is contained in:
2025-03-06 23:05:06 -06:00
parent fe244707bf
commit 1ba0b9714b
11 changed files with 390 additions and 564 deletions

View File

@@ -42,62 +42,3 @@ spec:
key: /authentik/oidc/headlamp key: /authentik/oidc/headlamp
metadataPolicy: None metadataPolicy: None
property: scopes property: scopes
# ---
# apiVersion: external-secrets.io/v1beta1
# kind: ExternalSecret
# metadata:
# name: headlamp-backup-secret
# namespace: {{ .Release.Namespace }}
# labels:
# app.kubernetes.io/name: headlamp-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
# target:
# template:
# mergePolicy: Merge
# engineVersion: v2
# data:
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/headlamp/headlamp"
# 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

View File

@@ -1,27 +0,0 @@
# apiVersion: volsync.backube/v1alpha1
# kind: ReplicationSource
# metadata:
# name: headlamp-backup-source
# namespace: {{ .Release.Namespace }}
# labels:
# app.kubernetes.io/name: headlamp-backup-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: headlamp
# trigger:
# schedule: 0 0 */3 * *
# restic:
# pruneIntervalDays: 14
# repository: headlamp-backup-secret
# retain:
# hourly: 1
# daily: 1
# weekly: 1
# monthly: 2
# yearly: 4
# copyMethod: Snapshot
# storageClassName: ceph-block
# volumeSnapshotClassName: ceph-blockpool-snapshot

View File

@@ -61,61 +61,61 @@ spec:
metadataPolicy: None metadataPolicy: None
property: secret property: secret
# --- ---
# apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1
# kind: ExternalSecret kind: ExternalSecret
# metadata: metadata:
# name: grafana-backup-secret name: grafana-backup-secret
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: grafana-backup-secret app.kubernetes.io/name: grafana-backup-secret
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# secretStoreRef: secretStoreRef:
# kind: ClusterSecretStore kind: ClusterSecretStore
# name: vault name: vault
# target: target:
# template: template:
# mergePolicy: Merge mergePolicy: Merge
# engineVersion: v2 engineVersion: v2
# data: data:
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/grafana/grafana" RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/grafana/grafana"
# data: data:
# - secretKey: BUCKET_ENDPOINT - secretKey: BUCKET_ENDPOINT
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: S3_BUCKET_ENDPOINT property: S3_BUCKET_ENDPOINT
# - secretKey: RESTIC_PASSWORD - secretKey: RESTIC_PASSWORD
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: RESTIC_PASSWORD property: RESTIC_PASSWORD
# - secretKey: AWS_DEFAULT_REGION - secretKey: AWS_DEFAULT_REGION
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: AWS_DEFAULT_REGION property: AWS_DEFAULT_REGION
# - secretKey: AWS_ACCESS_KEY_ID - secretKey: AWS_ACCESS_KEY_ID
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/volsync-backups key: /digital-ocean/home-infra/volsync-backups
# metadataPolicy: None metadataPolicy: None
# property: access_key property: access_key
# - secretKey: AWS_SECRET_ACCESS_KEY - secretKey: AWS_SECRET_ACCESS_KEY
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/volsync-backups key: /digital-ocean/home-infra/volsync-backups
# metadataPolicy: None metadataPolicy: None
# property: secret_key property: secret_key

View File

@@ -1,30 +1,30 @@
# apiVersion: volsync.backube/v1alpha1 apiVersion: volsync.backube/v1alpha1
# kind: ReplicationSource kind: ReplicationSource
# metadata: metadata:
# name: grafana-backup-source name: grafana-backup-source
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: grafana-backup-source app.kubernetes.io/name: grafana-backup-source
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# sourcePVC: grafana sourcePVC: grafana
# trigger: trigger:
# schedule: 0 0 */3 * * schedule: 0 4 * * *
# restic: restic:
# pruneIntervalDays: 14 pruneIntervalDays: 7
# repository: grafana-backup-secret repository: grafana-backup-secret
# retain: retain:
# hourly: 1 hourly: 1
# daily: 1 daily: 3
# weekly: 1 weekly: 2
# monthly: 2 monthly: 2
# yearly: 4 yearly: 4
# moverSecurityContext: moverSecurityContext:
# runAsUser: 472 runAsUser: 472
# runAsGroup: 472 runAsGroup: 472
# copyMethod: Snapshot copyMethod: Snapshot
# storageClassName: ceph-block storageClassName: ceph-block
# volumeSnapshotClassName: ceph-blockpool-snapshot volumeSnapshotClassName: ceph-blockpool-snapshot

View File

@@ -1,30 +1,30 @@
# apiVersion: volsync.backube/v1alpha1 apiVersion: volsync.backube/v1alpha1
# kind: ReplicationSource kind: ReplicationSource
# metadata: metadata:
# name: matrix-synapse-backup-source name: matrix-synapse-backup-source
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: matrix-synapse-backup-source app.kubernetes.io/name: matrix-synapse-backup-source
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# sourcePVC: matrix-synapse sourcePVC: matrix-synapse
# trigger: trigger:
# schedule: 0 0 */3 * * schedule: 0 4 * * *
# restic: restic:
# pruneIntervalDays: 14 pruneIntervalDays: 7
# repository: matrix-synapse-backup-secret repository: matrix-synapse-backup-secret
# retain: retain:
# hourly: 1 hourly: 1
# daily: 1 daily: 3
# weekly: 1 weekly: 2
# monthly: 2 monthly: 2
# yearly: 4 yearly: 4
# copyMethod: Snapshot copyMethod: Snapshot
# storageClassName: ceph-block storageClassName: ceph-block
# volumeSnapshotClassName: ceph-blockpool-snapshot volumeSnapshotClassName: ceph-blockpool-snapshot
# --- # ---
# apiVersion: volsync.backube/v1alpha1 # apiVersion: volsync.backube/v1alpha1
@@ -41,16 +41,16 @@
# spec: # spec:
# sourcePVC: mautrix-discord-data # sourcePVC: mautrix-discord-data
# trigger: # trigger:
# schedule: 0 0 */3 * * # schedule: 0 4 * * *
# restic: # restic:
# pruneIntervalDays: 14 # pruneIntervalDays: 7
# repository: mautrix-discord-data-backup-secret # repository: mautrix-discord-data-backup-secret
# retain: # retain:
# hourly: 1 # hourly: 1
# daily: 1 # daily: 3
# weekly: 1 # weekly: 2
# monthly: 2 # monthly: 2
# yearly: 4 # yearly: 4
# moverSecurityContext: # moverSecurityContext:
# runAsUser: 1337 # runAsUser: 1337
# runAsGroup: 1337 # runAsGroup: 1337
@@ -73,16 +73,16 @@
# spec: # spec:
# sourcePVC: mautrix-whatsapp-data # sourcePVC: mautrix-whatsapp-data
# trigger: # trigger:
# schedule: 0 0 */3 * * # schedule: 0 4 * * *
# restic: # restic:
# pruneIntervalDays: 14 # pruneIntervalDays: 7
# repository: mautrix-whatsapp-data-backup-secret # repository: mautrix-whatsapp-data-backup-secret
# retain: # retain:
# hourly: 1 # hourly: 1
# daily: 1 # daily: 3
# weekly: 1 # weekly: 2
# monthly: 2 # monthly: 2
# yearly: 4 # yearly: 4
# moverSecurityContext: # moverSecurityContext:
# runAsUser: 1337 # runAsUser: 1337
# runAsGroup: 1337 # runAsGroup: 1337

View File

@@ -55,123 +55,64 @@ spec:
metadataPolicy: None metadataPolicy: None
property: secret property: secret
# --- ---
# apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1
# kind: ExternalSecret kind: ExternalSecret
# metadata: metadata:
# name: ollama-root-backup-secret name: ollama-web-data-backup-secret
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: ollama-root-backup-secret app.kubernetes.io/name: ollama-web-data-backup-secret
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# secretStoreRef: secretStoreRef:
# kind: ClusterSecretStore kind: ClusterSecretStore
# name: vault name: vault
# target: target:
# template: template:
# mergePolicy: Merge mergePolicy: Merge
# engineVersion: v2 engineVersion: v2
# data: data:
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/ollama/ollama-root" RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/ollama/ollama-web"
# data: data:
# - secretKey: BUCKET_ENDPOINT - secretKey: BUCKET_ENDPOINT
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: S3_BUCKET_ENDPOINT property: S3_BUCKET_ENDPOINT
# - secretKey: RESTIC_PASSWORD - secretKey: RESTIC_PASSWORD
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: RESTIC_PASSWORD property: RESTIC_PASSWORD
# - secretKey: AWS_DEFAULT_REGION - secretKey: AWS_DEFAULT_REGION
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: AWS_DEFAULT_REGION property: AWS_DEFAULT_REGION
# - secretKey: AWS_ACCESS_KEY_ID - secretKey: AWS_ACCESS_KEY_ID
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/volsync-backups key: /digital-ocean/home-infra/volsync-backups
# metadataPolicy: None metadataPolicy: None
# property: access_key property: access_key
# - secretKey: AWS_SECRET_ACCESS_KEY - secretKey: AWS_SECRET_ACCESS_KEY
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/volsync-backups key: /digital-ocean/home-infra/volsync-backups
# metadataPolicy: None metadataPolicy: None
# property: secret_key property: secret_key
# ---
# apiVersion: external-secrets.io/v1beta1
# kind: ExternalSecret
# metadata:
# name: ollama-web-data-backup-secret
# namespace: {{ .Release.Namespace }}
# labels:
# app.kubernetes.io/name: ollama-web-data-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
# target:
# template:
# mergePolicy: Merge
# engineVersion: v2
# data:
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/ollama/ollama-web"
# 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/v1beta1 apiVersion: external-secrets.io/v1beta1

View File

@@ -1,59 +1,30 @@
# apiVersion: volsync.backube/v1alpha1 apiVersion: volsync.backube/v1alpha1
# kind: ReplicationSource kind: ReplicationSource
# metadata: metadata:
# name: ollama-root-backup-source name: ollama-web-data-backup-source
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: ollama-root-backup-source app.kubernetes.io/name: ollama-web-data-backup-source
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# sourcePVC: ollama-root sourcePVC: ollama-web-data
# trigger: trigger:
# schedule: 0 0 */3 * * schedule: 0 4 * * *
# restic: restic:
# pruneIntervalDays: 14 pruneIntervalDays: 7
# repository: ollama-root-backup-secret repository: ollama-web-data-backup-secret
# retain: retain:
# hourly: 1 hourly: 1
# daily: 1 daily: 3
# weekly: 1 weekly: 2
# monthly: 2 monthly: 2
# yearly: 4 yearly: 4
# copyMethod: Snapshot moverSecurityContext:
# storageClassName: ceph-block runAsUser: 1337
# volumeSnapshotClassName: ceph-blockpool-snapshot runAsGroup: 1337
copyMethod: Snapshot
# --- storageClassName: ceph-block
# apiVersion: volsync.backube/v1alpha1 volumeSnapshotClassName: ceph-blockpool-snapshot
# kind: ReplicationSource
# metadata:
# name: ollama-web-data-backup-source
# namespace: {{ .Release.Namespace }}
# labels:
# app.kubernetes.io/name: ollama-web-data-backup-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: ollama-web-data
# trigger:
# schedule: 0 0 */3 * *
# restic:
# pruneIntervalDays: 14
# repository: ollama-web-data-backup-secret
# retain:
# hourly: 1
# daily: 1
# weekly: 1
# monthly: 2
# yearly: 4
# moverSecurityContext:
# runAsUser: 1337
# runAsGroup: 1337
# copyMethod: Snapshot
# storageClassName: ceph-block
# volumeSnapshotClassName: ceph-blockpool-snapshot

View File

@@ -22,64 +22,64 @@ spec:
metadataPolicy: None metadataPolicy: None
property: ELASTIC_PASSWORD property: ELASTIC_PASSWORD
# --- ---
# apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1
# kind: ExternalSecret kind: ExternalSecret
# metadata: metadata:
# name: stalwart-config-backup-secret name: stalwart-config-backup-secret
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: stalwart-config-backup-secret app.kubernetes.io/name: stalwart-config-backup-secret
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# secretStoreRef: secretStoreRef:
# kind: ClusterSecretStore kind: ClusterSecretStore
# name: vault name: vault
# target: target:
# template: template:
# mergePolicy: Merge mergePolicy: Merge
# engineVersion: v2 engineVersion: v2
# data: data:
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/stalwart/stalwart-config" RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/stalwart/stalwart-config"
# data: data:
# - secretKey: BUCKET_ENDPOINT - secretKey: BUCKET_ENDPOINT
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: S3_BUCKET_ENDPOINT property: S3_BUCKET_ENDPOINT
# - secretKey: RESTIC_PASSWORD - secretKey: RESTIC_PASSWORD
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: RESTIC_PASSWORD property: RESTIC_PASSWORD
# - secretKey: AWS_DEFAULT_REGION - secretKey: AWS_DEFAULT_REGION
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: AWS_DEFAULT_REGION property: AWS_DEFAULT_REGION
# - secretKey: AWS_ACCESS_KEY_ID - secretKey: AWS_ACCESS_KEY_ID
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/volsync-backups key: /digital-ocean/home-infra/volsync-backups
# metadataPolicy: None metadataPolicy: None
# property: access_key property: access_key
# - secretKey: AWS_SECRET_ACCESS_KEY - secretKey: AWS_SECRET_ACCESS_KEY
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/volsync-backups key: /digital-ocean/home-infra/volsync-backups
# metadataPolicy: None metadataPolicy: None
# property: secret_key property: secret_key
--- ---
apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1

View File

@@ -1,27 +1,27 @@
# apiVersion: volsync.backube/v1alpha1 apiVersion: volsync.backube/v1alpha1
# kind: ReplicationSource kind: ReplicationSource
# metadata: metadata:
# name: stalwart-config-backup-source name: stalwart-config-backup-source
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: stalwart-config-backup-source app.kubernetes.io/name: stalwart-config-backup-source
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# sourcePVC: stalwart-config sourcePVC: stalwart-config
# trigger: trigger:
# schedule: 0 0 */3 * * schedule: 0 4 * * *
# restic: restic:
# pruneIntervalDays: 14 pruneIntervalDays: 7
# repository: stalwart-config-backup-secret repository: stalwart-config-backup-secret
# retain: retain:
# hourly: 1 hourly: 1
# daily: 1 daily: 3
# weekly: 1 weekly: 2
# monthly: 2 monthly: 2
# yearly: 4 yearly: 4
# copyMethod: Snapshot copyMethod: Snapshot
# storageClassName: ceph-block storageClassName: ceph-block
# volumeSnapshotClassName: ceph-blockpool-snapshot volumeSnapshotClassName: ceph-blockpool-snapshot

View File

@@ -61,61 +61,61 @@ spec:
metadataPolicy: None metadataPolicy: None
property: PGADMIN_CONFIG_OAUTH2_CONFIG property: PGADMIN_CONFIG_OAUTH2_CONFIG
# --- ---
# apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1
# kind: ExternalSecret kind: ExternalSecret
# metadata: metadata:
# name: pgadmin-data-backup-secret name: pgadmin-data-backup-secret
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: pgadmin-data-backup-secret app.kubernetes.io/name: pgadmin-data-backup-secret
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# secretStoreRef: secretStoreRef:
# kind: ClusterSecretStore kind: ClusterSecretStore
# name: vault name: vault
# target: target:
# template: template:
# mergePolicy: Merge mergePolicy: Merge
# engineVersion: v2 engineVersion: v2
# data: data:
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/pgadmin/pgadmin-data" RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/pgadmin/pgadmin-data"
# data: data:
# - secretKey: BUCKET_ENDPOINT - secretKey: BUCKET_ENDPOINT
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: S3_BUCKET_ENDPOINT property: S3_BUCKET_ENDPOINT
# - secretKey: RESTIC_PASSWORD - secretKey: RESTIC_PASSWORD
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: RESTIC_PASSWORD property: RESTIC_PASSWORD
# - secretKey: AWS_DEFAULT_REGION - secretKey: AWS_DEFAULT_REGION
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /cl01tl/volsync/restic/config key: /cl01tl/volsync/restic/config
# metadataPolicy: None metadataPolicy: None
# property: AWS_DEFAULT_REGION property: AWS_DEFAULT_REGION
# - secretKey: AWS_ACCESS_KEY_ID - secretKey: AWS_ACCESS_KEY_ID
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/volsync-backups key: /digital-ocean/home-infra/volsync-backups
# metadataPolicy: None metadataPolicy: None
# property: access_key property: access_key
# - secretKey: AWS_SECRET_ACCESS_KEY - secretKey: AWS_SECRET_ACCESS_KEY
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/volsync-backups key: /digital-ocean/home-infra/volsync-backups
# metadataPolicy: None metadataPolicy: None
# property: secret_key property: secret_key

View File

@@ -1,30 +1,30 @@
# apiVersion: volsync.backube/v1alpha1 apiVersion: volsync.backube/v1alpha1
# kind: ReplicationSource kind: ReplicationSource
# metadata: metadata:
# name: pgadmin-data-backup-source name: pgadmin-data-backup-source
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: pgadmin-data-backup-source app.kubernetes.io/name: pgadmin-data-backup-source
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# sourcePVC: pgadmin-data sourcePVC: pgadmin-data
# trigger: trigger:
# schedule: 0 0 */3 * * schedule: 0 4 * * *
# restic: restic:
# pruneIntervalDays: 14 pruneIntervalDays: 7
# repository: pgadmin-data-backup-secret repository: pgadmin-data-backup-secret
# retain: retain:
# hourly: 1 hourly: 1
# daily: 1 daily: 3
# weekly: 1 weekly: 2
# monthly: 2 monthly: 2
# yearly: 4 yearly: 4
# moverSecurityContext: moverSecurityContext:
# runAsUser: 5050 runAsUser: 5050
# runAsGroup: 5050 runAsGroup: 5050
# copyMethod: Snapshot copyMethod: Snapshot
# storageClassName: ceph-block storageClassName: ceph-block
# volumeSnapshotClassName: ceph-blockpool-snapshot volumeSnapshotClassName: ceph-blockpool-snapshot