keycloak-scim/quarkus
Jan Lieskovsky 833bf98643 [KEYCLOAK-15692] Upgrade to Wildfly "21.0.1.Final"
Base fixes:
* [KEYCLOAK-15780]      Upgrade Keycloak to Wildfly 21.0.0.Beta1 / Wildfly Core 13.0.0.Beta6
* [KEYCLOAK-16031]      Upgrade Keycloak to Wildfly 21.0.0.Final / Wildfly Core 13.0.1.Final
* [KEYCLOAK-16442]      Upgrade Keycloak to Wildfly 21.0.1.Final / Wildfly Core 13.0.3.Final

Other (dependent) fixes:
* [KEYCLOAK-15408]      Deprecate former Wildfly and Wildfly Core versions in Arquillian's
                        testsuite pom.xml file as part of the upgrade script
* [KEYCLOAK-15442]      Update the version of 'jboss-parent' as part of the Wildfly upgrade
                        script if necessary
* [KEYCLOAK-15474]      Add --verbose and --force options to the Wildfly upgrade automated script
* [KEYCLOAK-15649]      Update "urn:jboss:domain:infinispan:10.0" version as part of the Wildfly
                        upgrade automated script
* [KEYCLOAK-15652]      Wildfly upgrade automated script - Align Python artifact version
                        comparsion algorithm with the Maven / Java one

Signed-off-by: Jan Lieskovsky <jlieskov@redhat.com>
2020-11-26 09:25:29 +01:00
..
deployment KEYCLOAK-13644. Added healthcheck endpoints tests. 2020-11-13 15:04:15 -03:00
runtime [KEYCLOAK-15692] Upgrade to Wildfly "21.0.1.Final" 2020-11-26 09:25:29 +01:00
server [KEYCLOAK-13639] - Improvements to metrics and health status 2020-11-13 07:14:43 -03:00
pom.xml [KEYCLOAK-16245] - Update Quarkus 1.10.0.CR1 2020-11-12 13:21:08 -03:00
README.md Use code blocks to avoid layout collapse 2020-10-23 00:58:53 +02:00

Keycloak on Quarkus

The module holds the codebase to run Keycloak on top of Quarkus:

├── 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.

Running

By default, the HTTP port is disabled and you need to provide the key material to configure HTTPS. If you want to enable the HTTP port, run the server in development mode as follows:

java -jar server/target/lib/quarkus-run.jar --profile=dev

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.