Configure Keycloak to allow attaching a debugger (localhost:8081). Add a testing realm with suitable example entries, and explain how to update and export the realm. Reviewed-on: #27
2.3 KiB
Creating a Testing Keycloak
The Docker Compose setup in this directory sets up Keycloak and imports a realm testing.
Starting Keycloak
Run docker compose up -d to start Keycloak. The admin console will be available at http://localhost:8080/.
You can attach a Java debugger at localhost:8081.
The realm export is in import/testing.json.
It will be imported automatically when Keycloak starts.
Updating the Realm
If you want to make changes to the testing realm and persist them, you need to export the realm.
The following command runs the Keycloak export for the realm testing storing it in the mapped directory import/testing.json.
The copying of the database is necessary to avoid locking errors.
env -i makes sure the regular environment variables are not set to avoid port conflicts.
docker compose exec -it keycloak sh -c "cp -rp /opt/keycloak/data/h2 /tmp && env -i -- /opt/keycloak/bin/kc.sh export --db dev-file --db-url 'jdbc:h2:file:/tmp/h2/keycloakdb;NON_KEYWORDS=VALUE' --file /opt/keycloak/data/import/testing.json --realm testing"
Testing Realm Configuration
The realm contains these objects:
- Clients:
export-dooris-ssh-keyswith secretexport-dooris-ssh-keys-secretand roleexport-dooris-ssh-keysexport-mailing-list-addresseswith secretexport-mailing-list-addresses-secretand roleexport-mailing-list-addresses
- Realm Roles:
dooris-authorizedmailing-list-chaos-membermailing-list-intern-memberexport-dooris-ssh-keysexport-mailing-list-addresses
- Groups:
chaoswith rolemailing-list-chaos-memberìnternwith rolesdooris-authorizedandmailing-list-intern-member
- Users:
tester(Tony Tester), emailtester@example.com, member of groupchaos- Mailing List Addresses:
- Chaos:
tester+chaos@example.com - Intern:
tester+intern@example.com
- Chaos:
- Dooris SSH Keys:
- SSH Key 1:
tester-ssh-key-1 - SSH Key 2:
tester-ssh-key-2
- SSH Key 1:
- Mailing List Addresses:
hacker(Hans Acker), emailhacker@example.net, member of groupschaosandintern- Mailing List Addresses:
- Chaos:
hacker+chaos@example.net - Intern:
hacker+intern@example.net
- Chaos:
- Dooris SSH Keys:
- SSH Key 1:
hacker-ssh-key-1 - SSH Key 2:
hacker-ssh-key-2
- SSH Key 1:
- Mailing List Addresses: