Migration from version 10 to version 18

Was thinking about migrating an « old » Keycloak that is currently in version 10 to the latest version.

Has someone done such a big gap and is willing to share is experience on what to keep an eye on? Some hints?

Seems to be migrating to the version 16 and 17 are the trickiest ones as for one the changelog says that there is to many changes and we will need to test a lot and the other one because it introduces Quarkus.

Thanks for sharing

This shouldn’t be a big deal - once you have set up the configuration for a Quarkus based Keycloak properly.

I suggest to set up a new, separated Keycloak environment, Quarkus based. Here, you can set and test your new configuration until it meets the “old” environment settings. Then, make a copy of the database and test your new Keycloak config with the old database. If all this works like you expect, then do the production migration. Always having a database backup at hand (and knowing how to restore in case of an error).

Seems to be there exists some custom development like a login page and other plugin but that shouldn’t be a big deal.

My main concern was to have same behavior between each version. Do you confirm that the core of the app of Keycloak 18 should work using the Keycloak 10 database without applying migrations?

If this assertion is true it will be indeed much simpler to do the migration!

Keycloak brings and executes its necessary migrations itself during starting of the server. So, you can always migrate an older database with a current server version to be up to date. Assumed that you migrated your custom providers and did the new Quarkus-based configuration properly.

1 Like