Мы запускаем образ Keycloak docker в AWS ECS, и нам нужен способ экспорта области и всех пользователей в целях автоматизации с использованием ansible. Мы можем запустить следующую команду с ansible, чтобы запустить экспорт
docker exec -i 702f2fd7858d \
/bin/bash -c "export JDBC_PARAMS=?currentSchema=keycloak_service &&
/opt/jboss/keycloak/bin/standalone.sh \
-Djboss.socket.binding.port-offset=100 \
-Dkeycloak.migration.action=export \
-Dkeycloak.migration.provider=singleFile \
-Dkeycloak.migration.realmName=API \
-Dkeycloak.migration.usersExportStrategy=REALM_FILE \
-Dkeycloak.migration.file=/tmp/my_realm.json"
, но контейнер docker продолжает работать после экспорта. Мы не можем выполнить поиск журналов в поисках завершения процесса экспорта, так как мы используем AWS Драйвер журналов для Docker, который предотвращает доступ к любым журналам. Жаль, что API Keycloak REST не поддерживает включение пользователей в существующую конечную точку частичного экспорта или, по крайней мере, наличие конечной точки, которая запускает экспорт области, включая пользователей, в смонтированную файловую систему.