#!/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 <