Skip to content

[DPE-10186] Add LDAP support#81

Open
reneradoi wants to merge 22 commits into
9/edgefrom
add-ldap
Open

[DPE-10186] Add LDAP support#81
reneradoi wants to merge 22 commits into
9/edgefrom
add-ldap

Conversation

@reneradoi

@reneradoi reneradoi commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR adds LDAP support to Valkey, based on the specification in DA269.

Design:

  • new charm relations for ldap and ldap-ca-cert
  • receive entity-permissions request through client relation from Data Integrator to construct "auth roles" (matched against ldap-map config of Valkey)
  • new event handler for LDAP related events
  • moved the auth related parts of the ConfigManager to a new AuthManager
  • added functionality for LDAP authentication and authorization to the AuthManager
  • LDAP is enabled/disabled by reloading config and ACLs, no need for restart
  • does not require ldaps, also works with startTLS
  • safeguards on config and relation state are checked before enabling LDAP and results are displayed to users with blocked statuses

Workarounds / Limitations:

  • added certificate_transfer charmlib because glauth-k8s only supports the certificate-transfer interface in v0
  • disabled the connection failure detection of the Valkey LDAP module because it depends on the WhoAmI command which is not supported by GLAuth (see https://glauth.github.io/docs/limitations.html)

Unrelated:

  • refactor method for config set in ValkeyClient class
  • add +ping +role permissions to external client users to allow users to check if they are connected to a primary or replica instance (addresses Integration users don't have PING permission #80)

@reneradoi reneradoi marked this pull request as ready for review July 8, 2026 14:46
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.

1 participant