31 lines
847 B
Bash
Executable File
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"
|