k8s/ manifest added
Some checks failed
Docker Build Workflow / Lint Dockerfile (push) Failing after 4s
Docker Build Workflow / Build and Push Docker Image (push) Successful in 40s

This commit is contained in:
2026-04-11 22:24:49 +02:00
parent 6d19f77edf
commit f39704ed87
8 changed files with 193 additions and 7 deletions

23
k8s/configmap/config.yaml Normal file
View File

@@ -0,0 +1,23 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: rclone-config
namespace: rook-ceph-s3-backup
data:
rclone.conf: |
[ceph]
type = s3
provider = Ceph
access_key_id = CHANGE_ME
secret_access_key = CHANGE_ME
endpoint = http://rook-ceph-rgw-s3.rook-ceph.svc:80
acl = private
[rustfs]
type = s3
provider = Other
access_key_id = CHANGE_ME
secret_access_key = CHANGE_ME
acl = private
region = other-v2-signature
endpoint = https://rustfs.example.org

38
k8s/configmap/script.yaml Normal file
View File

@@ -0,0 +1,38 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: rclone-sync-script
namespace: rook-ceph-s3-backup
data:
rclone-sync-script.sh: |
#!/usr/bin/env sh
set -eu
SRC_REMOTE="ceph:"
DST_REMOTE="rustfs:ceph-s3-backup" #
BUCKETS=$(kubectl get ObjectBucketClaim -A \
-o jsonpath='{range .items[*]}{.spec.bucketName}{"\n"}{end}' \
| sort -u)
if [ -z "$BUCKETS" ]; then
echo "No buckets found"
exit 0
fi
echo "$BUCKETS" | while IFS= read -r bucket; do
[ -z "$bucket" ] && continue
echo "Syncing: $bucket"
rclone sync \
"${SRC_REMOTE}${bucket}" \
"${DST_REMOTE}/${bucket}" \
--transfers 4 \
--checkers 8 \
--log-level INFO
done
echo "Done"