Skip to content

KNOX-3247 - Knox LDAP Server with Pluggable Backend#1144

Merged
lmccay merged 4 commits intoapache:masterfrom
lmccay:KNOX-3247
Feb 12, 2026
Merged

KNOX-3247 - Knox LDAP Server with Pluggable Backend#1144
lmccay merged 4 commits intoapache:masterfrom
lmccay:KNOX-3247

Conversation

@lmccay
Copy link
Contributor

@lmccay lmccay commented Feb 6, 2026

KNOX-1234 - KNOX-3247 - Knox LDAP Server with Pluggable Backend

What changes were proposed in this pull request?

By exposing an LDAP interface from Knox, we can provide a rich set of backend implementations that can:

  • Provide easy demo and test environments with a file based backend
  • Provide enterprise integrations by proxying actual LDAP backends
  • Provide novel implementations based on the KNOX-AUTH-SERVICE in other topologies
  • All while simplifying the configuration of consumers by normalizing the exposed schema - resulting in the same LDAP config for all deployments rather than chasing the deployment specific details across the platform.
  • Knox can be the central LDAP Server for the platform while integrating with all of the possible combinations that we already support.

The LDAP Server proxy feature normalizes the consumer facing schema and returns the proxied schema results. This is a standard/common LDAP Proxy pattern. It also needs to be able to reverse the mapping for queries that come from a result that includes the backend schema such as the DN. So, consumers can use both the internal and external DNs for searches.

This PR adds a new GatewayService called KnoxLDAPServer that uses ServiceLoader to provide an SPI for backend implementations. It includes a file based backend for testing and an LDAP backend to proxy access to other external LDAP servers.

How was this patch tested?

New unit tests have been added for those things that can be mocked and tested.
We will need to add additional integration tests with an actual backend deployed.

Manually tested both the file based and LDAP Server based backends.
Used the existing Demo LDAP Server as the proxied LDAP Server.

Integration Tests

(Please add or update integration tests .github/workflows/tests for the feature you are adding. If no unit test is added, please explain why. Check out .github/workflows/tests/README.md for instructions)

@github-actions
Copy link

github-actions bot commented Feb 6, 2026

Test Results

7 tests   7 ✅  1s ⏱️
1 suites  0 💤
1 files    0 ❌

Results for commit 973c96a.

♻️ This comment has been updated with latest results.

@lmccay lmccay requested review from hanicz and smolnar82 February 9, 2026 18:15
@lmccay lmccay requested a review from hanicz February 10, 2026 23:59
@lmccay lmccay merged commit 3f1cf23 into apache:master Feb 12, 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