8000 feat: upgrade Keycloak to recent release and deprovision operator by merll · Pull Request #2078 · linode/apl-core · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat: upgrade Keycloak to recent release and deprovision operator #2078

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 31 commits into from
May 6, 2025
Merged

Conversation

merll
Copy link
Contributor
@merll merll commented Apr 17, 2025

📌 Summary

This PR upgrades Keycloak to a more recent and maintained release. Since the previous Operator pattern did not provide a good way of maintaining the lifecycle of this product in our platform, a change is made to a regular Helm install like the majority of our integrated projects. The Bitnami chart was chosen since it provided good practices of pre-configuration, relatively close to our current setup.

For the upgrade, it was necessary to change the platform logout URL redirect, which had already been depending on a deprecated feature. Since this was provided as a 301 HTTP response code from /logout-otomi, the latter had to be changed; otherwise browsers cache this response indefinitely and therefore may never follow the updated redirect. The new redirect under /platform-logout was changed to a 302 HTTP response code to make changes easier in the future (e.g. should we rename the realm or client for rebranding purposes). As a consequence, Console and API also need to be updated accordingly.

Console: https://github.com/linode/apl-console/pull/545
API: https://github.com/linode/apl-api/pull/701

🔍 Reviewer Notes

In particular, the following should be verified:

  • Login and logout of the platform through Console
  • OAuth-Proxy usage (e.g. ArgoCD)
  • API authentication
  • Creating and removing users and teams
  • Upgrading a platform from current main
  • Upgrading a platform from the latest release

For the logout and closing of TTY sessions to work, the matching feature branches of APL-691 will need to be used for API and Console. Also, cleanups were made in Console regarding the login theme, which was causing 404 errors due to missing (but not needed) CSS files. In order to test the updated theme, the values (multi-line string) of the ArgoCD application keycloak-keycloak must be manually patched in initContainers[0].image to docker.io/linode/apl-console:APL-691. When referring to main, it will still work the same as before, just not benefit from improvements there. These manual changes will be overwritten on any Tekton pipeline run.

🧹 Checklist

  • Code is readable, maintainable, and robust.
  • Unit tests added/updated

Copy link
github-actions bot commented Apr 17, 2025

Coverage report

St.
Category Percentage Covered / Total
🔴 Statements
49.36% (+0.09% 🔼)
1079/2186
🔴 Branches
33.13% (+0.31% 🔼)
214/646
🔴 Functions
41.25% (+0.33% 🔼)
125/303
🔴 Lines
48.75% (+0.15% 🔼)
956/1961
Show files with reduced coverage 🔻
St.
File Statements Branches Functions Lines
🟡 common/utils.ts 67.63%
50% (-1.32% 🔻)
54.55%
69.12% (+0.74% 🔼)

Test suite run success

93 tests passing in 9 suites.

Report generated by 🧪jest coverage report action from 109e16e

@merll merll marked this pull request as ready for review April 22, 2025 16:16
Copy link
Contributor
@Ani1357 Ani1357 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested upgrade from latest release in conjunction with the update versions of console and api(through raw_values).
Upgrade script was executed as expected and keycloak operator resources were removed.
Login/Logout works for platform-admin and team users. Also login to gitea argocd harbor works through oidc.

@merll merll merged commit 9e84b9f into main May 6, 2025
7 checks passed
@merll merll deleted the APL-691 branch May 6, 2025 13:26
@merll merll restored the APL-691 branch May 6, 2025 16:29
@merll merll deleted the APL-691 branch May 6, 2025 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
0