generator-jhipster
generator-jhipster copied to clipboard
Upgrade Keycloak to v.19
Overview of the feature request
See https://www.keycloak.org/2022/07/keycloak-1900-released.html
Motivation for or Use Case
Related issues or PR
- [ ] Checking this box is mandatory (this is just to show you read everything)
cc @vishal423
cc @yelhouti as he did the last upgrade
No response. I will take a look over weekend
Hi Vishal, @vishal423 Thanks a lot, i'm interested in this 😀.
Sorry I am on "vacation" I can check it when I get back in few weeks.
no worries @yelhouti . @vidhya03 assigned to you
@pascalgrimaud, can we put some bounty ?
@vishal423 : sure :-)
Increasing bounty to accelerate delivery. 😀
@vidhya03 I'm back from vacation if you are not available to work on this anymore I can take the lead :)
@yelhouti, there is an open PR. If you can also contribute to the same, you both can divide the bounty.
@vishal423 There are no change in the first PR as fare as I can tell (except version number), as you might now, there some manual work that needs to be done. ie. export/import the files, change that no changes has been made. Implement some improvement to specified here: https://www.keycloak.org/2022/07/keycloak-1900-released ex: add the --auto-build flag / remove the optimized (change the docs to explain this...)
@yelhouti can take the bounty , i am new to this, getting to understand step by step. i have struck up with the environments configuration. keycloak bootup successfully , however i tried to setup up the failed tests use case locally, But stuck with npm install :( , just trying with vscode devcontainer to simulate the use case.
@vidhya03 thanks I will start working on it right away
@yelhouti I'm happy to test your PR!
EDIT: I tried an approach that would make it easier to merge changes on upgrade, but it doesn't work, since on import, keycloak changes some ids, and on export the order of arrays in not consistant. Instead I propose the following. All the changes that we do the the json export should be handled by json manipulation in javascript instead of templating.
- it would make it easier to track how we change these files.
- it is much easier to maintain when field are added or deleted on upgrade.
Of course it's a bit more work this time, but I am bit tired of doing this on each major upgrade :p @mraible @DanielFran @vishal423 @pascalgrimaud do you have any objections ?
I am doubtful about the overall gain and maintenance aspect of the programmatic generation of JSON. I would rather automate the process of applying JHipster customizations on top of the default, however, that's a different aspect and could be done outside the Jhipster codebase as a standalone repository/script.
@yelhouti, are you interested to complete this? Otherwise, I will take a look
@vishal423 sorry I forgot to answer you first message, I never talked about generating the full javascript automatically but rather have a json with all the options as the default, then clean it depending on the needs (ex: remove jhipster-registry client when not needed...) which I think is what you mean by "automate the process of applying JHipster customizations on top of the default" if we agree I could fix it today.
let's do the upgrade to close this ticket. automation can be done as part of a separate task
I dont this we can skip the automation, exports do Not include passwords (they can't) because some are hashed. We should at least automate setting passwords or document that for the next person upgrading...
I'd prefer to do it manually like we've done in the past so we can release JHipster 7.9.3. We can also push this upgrade to the next release since it's not necessary.
They are more changes in this Release than the previous One, few fields have been added to the json... If anyone wants to finit manually Please go ahead. I ll automate in the next Release If you want.
I will take a look. Thanks @yelhouti