40 lines
1.2 KiB
Bash
Executable File
40 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
set -eu
|
|
|
|
compose_file=${COMPOSE_FILE:-docker-compose.yml}
|
|
|
|
python3 scripts/validate-realm.py
|
|
./scripts/verify-stack.sh
|
|
|
|
curl --fail --silent --show-error --output /dev/null \
|
|
"http://localhost:8080/realms/keycloak-patterns/.well-known/openid-configuration"
|
|
|
|
docker compose -f "$compose_file" exec -T keycloak sh -ec '
|
|
kcadm=/opt/keycloak/bin/kcadm.sh
|
|
"$kcadm" config credentials \
|
|
--server http://localhost:8080 \
|
|
--realm master \
|
|
--user "$KC_BOOTSTRAP_ADMIN_USERNAME" \
|
|
--password "$KC_BOOTSTRAP_ADMIN_PASSWORD" >/dev/null
|
|
|
|
clients=$("$kcadm" get clients -r keycloak-patterns --fields clientId)
|
|
for client in \
|
|
spa-public \
|
|
token-mediating-confidential \
|
|
bff-confidential \
|
|
edge-proxy
|
|
do
|
|
printf "%s" "$clients" | grep -q "\"$client\""
|
|
done
|
|
|
|
users=$("$kcadm" get users -r keycloak-patterns --fields username)
|
|
printf "%s" "$users" | grep -q "\"admin-user\""
|
|
printf "%s" "$users" | grep -q "\"regular-user\""
|
|
|
|
roles=$("$kcadm" get roles -r keycloak-patterns --fields name)
|
|
printf "%s" "$roles" | grep -q "\"admin-role\""
|
|
printf "%s" "$roles" | grep -q "\"user-role\""
|
|
'
|
|
|
|
echo "realm verified: import, discovery, four clients, two roles, two users"
|