generator-jhipster icon indicating copy to clipboard operation
generator-jhipster copied to clipboard

Upgrade Keycloak to v.19

Open DanielFran opened this issue 2 years ago • 8 comments

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)

DanielFran avatar Jul 27 '22 13:07 DanielFran

cc @vishal423

DanielFran avatar Jul 27 '22 13:07 DanielFran

cc @yelhouti as he did the last upgrade

vishal423 avatar Jul 28 '22 19:07 vishal423

No response. I will take a look over weekend

vishal423 avatar Aug 04 '22 04:08 vishal423

Hi Vishal, @vishal423 Thanks a lot, i'm interested in this 😀.

vidhya03 avatar Aug 04 '22 04:08 vidhya03

Sorry I am on "vacation" I can check it when I get back in few weeks.

yelhouti avatar Aug 04 '22 05:08 yelhouti

no worries @yelhouti . @vidhya03 assigned to you

vishal423 avatar Aug 04 '22 05:08 vishal423

@pascalgrimaud, can we put some bounty ?

vishal423 avatar Aug 04 '22 05:08 vishal423

@vishal423 : sure :-)

pascalgrimaud avatar Aug 04 '22 05:08 pascalgrimaud

Increasing bounty to accelerate delivery. 😀

mraible avatar Aug 15 '22 00:08 mraible

@vidhya03 I'm back from vacation if you are not available to work on this anymore I can take the lead :)

yelhouti avatar Aug 15 '22 07:08 yelhouti

@yelhouti, there is an open PR. If you can also contribute to the same, you both can divide the bounty.

vishal423 avatar Aug 15 '22 09:08 vishal423

@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 avatar Aug 15 '22 10:08 yelhouti

@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 avatar Aug 15 '22 14:08 vidhya03

@vidhya03 thanks I will start working on it right away

yelhouti avatar Aug 15 '22 17:08 yelhouti

@yelhouti I'm happy to test your PR!

mraible avatar Aug 17 '22 08:08 mraible

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.

  1. it would make it easier to track how we change these files.
  2. 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 ?

yelhouti avatar Aug 17 '22 12:08 yelhouti

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.

vishal423 avatar Aug 22 '22 07:08 vishal423

@yelhouti, are you interested to complete this? Otherwise, I will take a look

vishal423 avatar Aug 24 '22 01:08 vishal423

@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.

yelhouti avatar Aug 24 '22 06:08 yelhouti

let's do the upgrade to close this ticket. automation can be done as part of a separate task

vishal423 avatar Aug 24 '22 08:08 vishal423

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...

yelhouti avatar Aug 25 '22 03:08 yelhouti

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.

mraible avatar Aug 25 '22 04:08 mraible

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.

yelhouti avatar Aug 25 '22 04:08 yelhouti

I will take a look. Thanks @yelhouti

vishal423 avatar Aug 25 '22 10:08 vishal423