Files
keycloak-pattern/scripts/export-realm.sh

31 lines
847 B
Bash
Executable File

#!/usr/bin/env sh
set -eu
compose_file=${COMPOSE_FILE:-docker-compose.yml}
output_dir=${REALM_EXPORT_DIR:-"$(pwd)/build/keycloak-export"}
output_file="$output_dir/keycloak-patterns-realm.json"
mkdir -p "$output_dir"
restart_keycloak() {
trap - EXIT INT TERM
docker compose -f "$compose_file" up -d --wait >/dev/null
}
trap restart_keycloak EXIT
trap 'exit 130' INT
trap 'exit 143' TERM
docker compose -f "$compose_file" stop keycloak >/dev/null
docker compose -f "$compose_file" run --rm --no-deps \
--volume "$output_dir:/opt/keycloak/data/export" \
keycloak \
export \
--realm keycloak-patterns \
--file /opt/keycloak/data/export/keycloak-patterns-realm.json \
--users same_file
chmod 600 "$output_file"
python3 scripts/validate-realm.py --runtime "$output_file"
echo "runtime realm export written to $output_file"