Skip to main content
Version: 0.1

Keycloak Configuration

The Keycloak SSI Deployment leverages both direct JSON configuration files and Terraform for managing Keycloak resources. This approach provides flexibility for initial setup and robust, version-controlled management of more complex configurations.

Initial Configuration with JSON

Upon startup, Keycloak can be pre-configured using JSON files. The project includes files like config/keycloak-config-dev.json and config/keycloak-config-release.json which define the initial realm, clients, users, and other settings.

The src/utils/import_kc_config.sh script is responsible for importing these configurations into the running Keycloak instance using the keycloak-config-cli tool. This allows for a quick and consistent setup of the basic Keycloak environment.

Managing Configuration with Terraform

For more advanced and maintainable configurations, the project utilizes Terraform. The infrastructure/terraform directory contains all the necessary Terraform files to manage Keycloak resources programmatically.

Key Terraform Components:

By using Terraform, you can define your Keycloak configuration as code, enabling version control, automated deployments, and consistent environments.

User and Client Configuration

The script src/deployment/2.configure_user_4_account_client.sh is responsible for configuring a user (Francis) and enabling direct access grants for the openid4vc-rest-api client. This script also handles the generation of user key proofs if they do not already exist.