34 lines
893 B
Bash
Executable File
34 lines
893 B
Bash
Executable File
#!/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"
|