#!/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"