Hello!
Currently, when I want to set up Keycloak on a new machine, I need to do several things manually, including the following:
1. Adding a custom login theme (putting files into directory /opt/keycloak/themes of the Keycloak container) .
2. Adding JAR files into /opt/keycloak/providers directory.
3. Running ./kc-build.sh script to set up the extensions in /opt/keycloak/providers directory.
4. Things which must be done in the Keycloak GUI
4.1. Add and configure a user federation.
4.2. Create a custom authentication flow (which uses forms from a JAR file in /opt/keycloak/providers directory).
4.3. Set the login theme.
4.4. Configure the SMTP settings for sending e-mails when an account is temporarily disabled.
4.5. Create and configure a client, incl. the root URL and valid redirect URIs.
4.6. Set the authentication flow of the flient to a custom one.
4.7. Configure client scopes.
4.8. Create a realm.
5. Configure HTTPS settings in /opt/keycloak/conf/keycloak.conf.
I want to automate as many of those steps as possible.
It looks like there is a mechanism which allows you to import and export realms (see
https://www.keycloak.org/server/importExport ).
Questions1. Are there other mechanisms apart from realm import/export that allow to automate parts of configuration/installation/upgrade?
2. Are there ways to update the extensions and the theme (contents of /opt/keycloak/provider and /opt/keycloak/themes directories) without manually calling "
docker cp ~/themes/mytheme keycloak:/opt/keycloak/themes"?
3. Let's say that the way we deliver upgrades to the customer is via a new version of a Docker image. Are there established ways to update the extensions (JAR files in /opt/keycloak/provider) and configuration (settings done via the Keycloak Web UI) for this scenario?
Thanks in advance