#!/usr/bin/env bash function error_handler() { echo >&2 "Exited with BAD EXIT CODE '${2}' in ${0} script at line: ${1}." exit "$2" } trap 'error_handler ${LINENO} $?' ERR set -o errtrace -o errexit -o nounset -o pipefail script_dir="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 pwd -P )" realms="$*" if [[ -z "$realms" ]]; then realms="spiffworkflow-local-realm" fi docker_container_path=/tmp/hey local_tmp_dir=$(mktemp -d -t ci-XXXXXXXXXX) docker exec keycloak rm -rf "$docker_container_path" docker exec keycloak /opt/keycloak/bin/kc.sh export --dir "${docker_container_path}" --users realm_file || echo '' docker cp "keycloak:${docker_container_path}" "$local_tmp_dir" for realm in $realms; do if ! grep -Eq '\-realm$' <<<"$realm"; then realm="${realm}-realm" fi cp "${local_tmp_dir}/hey/${realm}.json" "${script_dir}/../realm_exports/" done rm -rf "$local_tmp_dir"