blob: 3ec34e5c7aaf67a28519247d6929520d82ef6666 [file] [log] [blame]
#!/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-2-object}"
clustername="${3:-ceph-waw2}"
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