k8s/ manifest added
This commit is contained in:
23
k8s/configmap/config.yaml
Normal file
23
k8s/configmap/config.yaml
Normal 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
38
k8s/configmap/script.yaml
Normal 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"
|
||||
Reference in New Issue
Block a user