forked from hswaw/hscloud
38 lines
1.0 KiB
Plaintext
38 lines
1.0 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
# Generates s3cmd config from rook.io CephObjectStoreUser secrets fetched from
|
||
|
# Kubernetes apiserver. Accepts extra K8S_INTERNAL=1 environment variable flag
|
||
|
# that generates config that connects to internal rgw service.
|
||
|
#
|
||
|
# Usage:
|
||
|
# ./rook-s3cmd-config USERNAME STORENAME CLUSTERNAME > config
|
||
|
# s3cmd -c config --region "STORENAME:default-placement" mb s3://test/
|
||
|
|
||
|
set -e
|
||
|
|
||
|
username="${1:-registry}"
|
||
|
storename="${2:-waw-hdd-redundant-1-object}"
|
||
|
clustername="${3:-ceph-waw1}"
|
||
|
|
||
|
secret="$(kubectl get secrets rook-ceph-object-user-$storename-$username -n $clustername -o json)"
|
||
|
accesskey="$(echo "$secret" | jq -r '.data.AccessKey' | base64 -d)"
|
||
|
secretkey="$(echo "$secret" | jq -r '.data.SecretKey' | base64 -d)"
|
||
|
|
||
|
if [[ ! -z "$K8S_INTERNAL" ]]; then
|
||
|
domain="rook-ceph-rgw-$storename.$clustername.svc.cluster.local"
|
||
|
else
|
||
|
domain="object.$clustername.hswaw.net"
|
||
|
fi
|
||
|
|
||
|
cat <<EOF
|
||
|
[default]
|
||
|
access_key = $accesskey
|
||
|
secret_key = $secretkey
|
||
|
host_base = $domain
|
||
|
host_bucket = $domain
|
||
|
EOF
|
||
|
|
||
|
if [[ ! -z "$K8S_INTERNAL" ]]; then
|
||
|
echo "use_https = False"
|
||
|
fi
|