backup: cut authentik, immich, velero over to Hetzner #25
@@ -40,7 +40,7 @@ spec:
|
||||
name: plugins
|
||||
credentials:
|
||||
useSecret: true
|
||||
existingSecret: cloud-credentials
|
||||
existingSecret: cloud-credentials-hetzner
|
||||
# Enable CSI feature so snapshots go through VolumeSnapshotClass
|
||||
# (defined in rook-ceph-cluster/volumesnapshotclass.yaml) and get
|
||||
# moved to Garage via the built-in data mover.
|
||||
@@ -62,14 +62,15 @@ spec:
|
||||
backupStorageLocation:
|
||||
- name: default
|
||||
provider: aws
|
||||
bucket: k8s-velero
|
||||
bucket: renner-uno-k8s-velero
|
||||
default: true
|
||||
config:
|
||||
region: garage
|
||||
s3Url: https://s3.nas-1.renner.uno
|
||||
s3ForcePathStyle: "true"
|
||||
region: fsn1
|
||||
s3Url: https://fsn1.your-objectstorage.com
|
||||
# Hetzner requires virtual-hosted-style addressing.
|
||||
s3ForcePathStyle: "false"
|
||||
# Documented workaround for aws-sdk-go-v2 checksum mismatch
|
||||
# on self-hosted S3 (Ceph, Backblaze). Harmless on Garage.
|
||||
# on non-AWS S3 (Ceph/Garage/Hetzner). Required on Hetzner.
|
||||
checksumAlgorithm: ""
|
||||
volumeSnapshotLocation: []
|
||||
# Native (non-CSI) VSL snapshots disabled — CSI is the path.
|
||||
|
||||
@@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- secret.sops.yaml
|
||||
- hetzner-creds.sops.yaml
|
||||
- snapshot-readonly-storageclass.yaml
|
||||
- node-agent-config.yaml
|
||||
- helmrelease.yaml
|
||||
|
||||
@@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- barman-creds.sops.yaml
|
||||
- hetzner-creds.sops.yaml
|
||||
- objectstore.yaml
|
||||
- cluster.yaml
|
||||
- scheduled-backup.yaml
|
||||
|
||||
@@ -6,25 +6,25 @@ metadata:
|
||||
namespace: authentik
|
||||
spec:
|
||||
configuration:
|
||||
destinationPath: s3://k8s-cnpg/ak-pg
|
||||
endpointURL: https://s3.nas-1.renner.uno
|
||||
# Offsite Hetzner Object Storage (fsn1) — replaces Garage on nas-1.
|
||||
# No SSE: Hetzner supports only SSE-C, unusable by barman-cloud
|
||||
# (plugin #646), so at-rest encryption is unavailable; transit is TLS.
|
||||
destinationPath: s3://renner-uno-k8s-cnpg/ak-pg
|
||||
endpointURL: https://fsn1.your-objectstorage.com
|
||||
s3Credentials:
|
||||
accessKeyId:
|
||||
name: barman-cloud-creds
|
||||
name: hetzner-s3-creds
|
||||
key: ACCESS_KEY_ID
|
||||
secretAccessKey:
|
||||
name: barman-cloud-creds
|
||||
name: hetzner-s3-creds
|
||||
key: ACCESS_SECRET_KEY
|
||||
# Garage requires an explicit region — without it boto3's
|
||||
# HeadBucket call (used by barman-cloud-check-wal-archive during
|
||||
# CNPG bootstrap.recovery) returns 400 Bad Request.
|
||||
# Region is required (REGION=fsn1) — without it boto3's HeadBucket
|
||||
# (barman-cloud-check-wal-archive during bootstrap.recovery) 400s.
|
||||
region:
|
||||
name: barman-cloud-creds
|
||||
name: hetzner-s3-creds
|
||||
key: REGION
|
||||
wal:
|
||||
compression: gzip
|
||||
encryption: AES256
|
||||
data:
|
||||
compression: gzip
|
||||
encryption: AES256
|
||||
retentionPolicy: "30d"
|
||||
|
||||
@@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- barman-creds.sops.yaml
|
||||
- hetzner-creds.sops.yaml
|
||||
- objectstore.yaml
|
||||
- cluster.yaml
|
||||
- scheduled-backup.yaml
|
||||
|
||||
@@ -6,22 +6,25 @@ metadata:
|
||||
namespace: immich
|
||||
spec:
|
||||
configuration:
|
||||
destinationPath: s3://k8s-cnpg/im-pg
|
||||
endpointURL: https://s3.nas-1.renner.uno
|
||||
# Offsite Hetzner Object Storage (fsn1) — replaces Garage on nas-1.
|
||||
# No SSE: Hetzner supports only SSE-C, unusable by barman-cloud
|
||||
# (plugin #646), so at-rest encryption is unavailable; transit is TLS.
|
||||
destinationPath: s3://renner-uno-k8s-cnpg/im-pg
|
||||
endpointURL: https://fsn1.your-objectstorage.com
|
||||
s3Credentials:
|
||||
accessKeyId:
|
||||
name: barman-cloud-creds
|
||||
name: hetzner-s3-creds
|
||||
key: ACCESS_KEY_ID
|
||||
secretAccessKey:
|
||||
name: barman-cloud-creds
|
||||
name: hetzner-s3-creds
|
||||
key: ACCESS_SECRET_KEY
|
||||
# Region is required (REGION=fsn1) — without it boto3's HeadBucket
|
||||
# (barman-cloud-check-wal-archive during bootstrap.recovery) 400s.
|
||||
region:
|
||||
name: barman-cloud-creds
|
||||
name: hetzner-s3-creds
|
||||
key: REGION
|
||||
wal:
|
||||
compression: gzip
|
||||
encryption: AES256
|
||||
data:
|
||||
compression: gzip
|
||||
encryption: AES256
|
||||
retentionPolicy: "30d"
|
||||
|
||||
Reference in New Issue
Block a user