Description
Before reporting an issue
- I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them.
Area
storage
Describe the bug
We set these parameters in a quarkus.properties file:
quarkus.datasource."user-store".username=${DSC_IAM_JDBC_USER}
quarkus.datasource."user-store".password=${DSC_IAM_JDBC_PWD}
quarkus.datasource."user-store".jdbc.url=${DSC_IAM_JDBC_URL}
According to Quarkus documentation, all 3 are runtime options (no Lock-Symbol):
https://quarkus.io/guides/all-config#quarkus-agroal_quarkus-datasource-jdbc-url
https://quarkus.io/guides/all-config#quarkus-datasource_quarkus-datasource-username
https://quarkus.io/guides/all-config#quarkus-datasource_quarkus-datasource-password
When Starting Keycloak 26.2.2 (probably >26.0.0) following Error occurs and prevent Keycloak from starting:
The following build time options have values that differ from what is persisted - the new values will NOT be used until another build is run: quarkus.datasource."user-store".username, quarkus.datasource."user-store".password, quarkus.datasource."user-store".jdbc.url
Version
26.2.2
Regression
- The issue is a regression
Expected behavior
The options mentioned in the Error-Message are runtime options and should be treated as such.
Actual behavior
The options mentioned in the Error-Message are falsely treated as buildtime options.
How to Reproduce?
- set Quarkus RuntimeOptions at Build-Time via quarkus.properties as shown
- build a Docker-Image
- start optimized with overriding the Quarkus-Properties via ENV-Vars (see: Overriding quarkus properties at runtime #25332)
Anything else?
Related Part in Upgrade Guide: https://www.keycloak.org/docs/latest/upgrading/index.html#stricter-startup-behavior-for-build-time-options