Skip to content
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

fix(keycloak): Add support for Keycloak version >=25 #694

Merged
merged 1 commit into from
Sep 8, 2024

Conversation

Jinior
Copy link
Contributor

@Jinior Jinior commented Aug 29, 2024

Keycloak changed the health endpoint to a separate "management port" starting version 25.0.0 as can be read in the changelogs.

The keycloak module in testcontainers-python uses this endpoint for the readiness_probe. Currently compatibility with Keycloak >= 25 is broken.

This MR adds compatibility with Keycloak >= 25 by changing the readiness probe to do the following:

  • Try the health endpoint on the management port
  • If that gives a ConnectionError try the legacy health endpoint

An alternative approach would have been to create a separate LegacyKeycloakContainer class as has been done in other modules, however I think this unnecessarily complicates the user experience.

Additionally a public get_management_url method has been added to give end-users convenient access to the new Keycloak management endpoint.

@alexanderankin alexanderankin changed the title fix: Add support for Keycloak version >=25 fix(keycloak): Add support for Keycloak version >=25 Aug 29, 2024
Copy link

codecov bot commented Aug 29, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (main@2cf5a9f). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #694   +/-   ##
=======================================
  Coverage        ?   77.40%           
=======================================
  Files           ?       12           
  Lines           ?      602           
  Branches        ?       89           
=======================================
  Hits            ?      466           
  Misses          ?      110           
  Partials        ?       26           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@alexanderankin alexanderankin merged commit 62bd0de into testcontainers:main Sep 8, 2024
16 checks passed
alexanderankin pushed a commit that referenced this pull request Oct 14, 2024
🤖 I have created a release *beep* *boop*
---


##
[4.8.2](testcontainers-v4.8.1...testcontainers-v4.8.2)
(2024-09-27)


### Bug Fixes

* **core:** Reorganize core tests and improve
([#693](#693))
([f1665f3](f1665f3))
* **core:** Typing in auth
([#691](#691))
([66726b6](66726b6))
* **core:** Typing in config + utils
([#692](#692))
([794a22e](794a22e))
* **keycloak:** Add support for Keycloak version >=25
([#694](#694))
([62bd0de](62bd0de))
* mysql typo
([#705](#705))
([85d6078](85d6078)),
closes
[#689](#689)
* **opensearch:** add support for admin_password in >= 2.12
([#697](#697))
([935693e](935693e))
* postgres use psql instead of logs
([#704](#704))
([4365754](4365754))
* **tests:** Missing artifacts (include-hidden-files)
([#699](#699))
([8f1165d](8f1165d))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

2 participants