Skip to content

fix(identity): add opencloud.ldap.keepIdm for external OIDC without OpenLDAP - #169

Merged
Tim-herbie merged 1 commit into
Tim-herbie:mainfrom
suse-coder:fix/ldap-keepIdm-corrected
Sep 9, 2026
Merged

fix(identity): add opencloud.ldap.keepIdm for external OIDC without OpenLDAP#169
Tim-herbie merged 1 commit into
Tim-herbie:mainfrom
suse-coder:fix/ldap-keepIdm-corrected

Conversation

@suse-coder

Copy link
Copy Markdown

Builds on and supersedes #167 (thanks @HttpRafa for the original work).

I checked PR #167 on a real cluster (external Keycloak, Flux) and it works. This takes the same approach with some smaller changes and fixes:

  • opencloud.ldap.keepIdm (default false): excludeServices: [idp] keeps pointing OC_LDAP_* at OpenLDAP — existing installs unaffected. Set keepIdm: true (and do not exclude idm) to keep accounts in the bundled IDM with external OIDC.
  • Schema fix: keepIdm is validated under opencloud.ldap (PR fix(identity): add opencloud.ldap.keepIdm for external OIDC without OpenLDAP #167 placed it under features.externalUserManagement.ldap, where it validated nothing and the real value went unchecked).
  • Guard: keepIdm: true + excluded idm now fails fast with a clear message instead of rendering a deployment with no user directory.
  • Flux example (deployments/flux/opencloud/opencloud.yaml) now excludes idp + idm for the supported external-LDAP layout.
  • Tests: added keepIdm cases (external LDAP with custom secretRef, bundled IDM binds from init secret, invalid-combo failure); fixed the pre-existing http OC_URL test which never disabled global.tls.external.
  • Docs: IDP vs IDM split, both examples, and a note that keepIdm selects the directory (no user migration).
  • CONTRIBUTING.md: documented required helm lint --strict + helm unittest validation.

Verified: helm lint --strict, helm template for all LDAP combinations, openldap_test.yaml 20/20 pass, Flux reconcile of the branch on a live cluster.

Allow external OIDC with bundled IDM (keepIdm: true) while keeping
external OpenLDAP the default (keepIdm: false). Fail on the invalid
keepIdm + excluded idm combination. Supported external-LDAP layout
excludes idp and idm.
@Tim-herbie

Copy link
Copy Markdown
Owner

@suse-coder rdy to merge?

@suse-coder

Copy link
Copy Markdown
Author

yes

@Tim-herbie
Tim-herbie merged commit 722f69d into Tim-herbie:main Sep 9, 2026
3 checks passed
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