keycloak-scim/quarkus/README.md

56 lines
No EOL
1.9 KiB
Markdown

# Keycloak on Quarkus
The module holds the codebase to run Keycloak on top of [Quarkus](https://quarkus.io/):
├── deployment
│   ├── Build-time codebase with all the necessary steps to build and configure the server
├── runtime
│   ├── Runtime codebase with all the runtime code
└── server
├── The server itself, only responsible for generating the server artifacts
## Activating the Module
The module isn't enabled by default. To enable it please activate the `quarkus` profile.
## Building
To build the module and produce the artifacts to run a server:
mvn -f ../pom.xml clean install -DskipTestsuite -DskipExamples -DskipTests -Pquarkus
### Building the Distribution
To build the module as well as the distribution packages:
mvn -f ../pom.xml clean install -DskipTestsuite -DskipExamples -DskipTests -Pquarkus,distribution
The distribution packages (ZIP and TAR) should be available at [../distribution/server-x](../distribution/server-x/target).
## Running
java -jar server/target/lib/quarkus-run.jar
## Contributing
### Development Mode
To run the server in development mode:
cd server
mvn compile quarkus:dev
You should be able to attach your debugger to port `5005`.
Changes to files such as `server/src/main/resources` or `server/src/main/resources/META-INF/keycloak.properties` should
be recognized automatically when running in development mode.
However, considering that there is no real code in the `server` module (but from `runtime` and its dependencies), changes you make to
dependencies (e.g: services, model, etc) won't be reflected into the running server. However, you can still leverage the
hot reload capabilities from your IDE to make changes at runtime.
NOTE: We need to improve DevX and figure out why changes to dependencies are not being recognized when running tests or running
Quarkus Dev Mode.