2022-10-12 14:22:22 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
function error_handler() {
|
|
|
|
>&2 echo "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
|
|
|
|
|
2023-01-19 17:18:05 +00:00
|
|
|
script_dir="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
|
|
|
|
2022-10-12 14:22:22 +00:00
|
|
|
realms="$*"
|
|
|
|
if [[ -z "$realms" ]]; then
|
|
|
|
realms="spiffworkflow-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
|
2023-02-03 18:02:50 +00:00
|
|
|
if ! grep -Eq '\-realm$' <<< "$realm"; then
|
|
|
|
realm="${realm}-realm"
|
|
|
|
fi
|
2023-01-19 17:21:25 +00:00
|
|
|
cp "${local_tmp_dir}/hey/${realm}.json" "${script_dir}/../realm_exports/"
|
2022-10-12 14:22:22 +00:00
|
|
|
done
|
|
|
|
|
|
|
|
rm -rf "$local_tmp_dir"
|