blob: 8974f789797bf261d6f32cd0211ef8acf99352ab [file] [log] [blame]
export PROJECT_ID=skia-public
export BUCKET_ID=skia-secrets
export KEY="projects/${PROJECT_ID}/locations/global/keyRings/berglas/cryptoKeys/berglas-key"
export ACCESS_CONTROL="--member group:skia-root@google.com"
# Converts a cluster common name, e.g. "skia-public", into the value that would
# get returned by `kubectl config current-context`. Needed because those are
# very different names under GKE.
#
# $1 - The common name of the cluster, e.g. "skia-public".
function cluster_long_name() {
if [ "$1" == "skia-public" ]; then
echo "gke_skia-public_us-central1-a_skia-public"
elif [ "$1" == "skia-corp" ]; then
echo "gke_google.com:skia-corp_us-central1-a_skia-corp"
else
echo $1
fi
}
# Confirms that we are currently talking to the desired cluster.
#
# $1 - The common name of the cluster, e.g. "skia-public".
function confirm_cluster() {
K8S_CLUSTER=$(kubectl config current-context)
if [ "$K8S_CLUSTER" != "$(cluster_long_name $1)" ]; then
echo "Wrong cluster, must be run in $CLUSTER."
exit 1
fi
}
# Derives a GCP secret name from a project and service account name by adding
# the project name (without "google.com:") as a prefix and "-sa-key" as suffix.
function service_account_secret_name() {
if [ $# -ne 2 ]; then
echo "service_account_secret_name <project id> <service-account-name>" >&2
exit 1
fi
PROJECT="$1"
SA_NAME="$2"
echo "${PROJECT#"google.com:"}-${SA_NAME}-sa-key"
}
# Converts a berglas secret path of the form $cluster/$secret to a GCP secret name.
function berglas_to_gcp_secret_name() {
srcSecretName="$(echo "$line" | awk '{print $1;}')"
cluster="$(echo $srcSecretName | cut -d "/" -f 1)"
srcSecretBaseName="$(echo $srcSecretName | cut -d "/" -f 2)"
dstSecretName="${srcSecretBaseName%-service-account}"
if [ -z "${dstSecretName##*-token}" ] || [ -z "${dstSecretName##*-secret}" ] || [ -z "${dstSecretName##*-secrets}" ]; then
dstSecretName="${dstSecretName}"
else
dstSecretName="${dstSecretName}-sa-key"
fi
if [[ "$dstSecretName" == $cluster-* ]] || [[ "$cluster" == "etc" ]]; then
dstSecretName="$dstSecretName"
else
dstSecretName="$cluster-$dstSecretName"
fi
echo "$dstSecretName"
}