[pdm-devel] [PATCH datacenter-manager/proxmox/yew-comp v2 00/13] Add LDAP and AD realm support to Proxmox Datacenter Manager
Shannon Sterz
s.sterz at proxmox.com
Mon Sep 22 17:05:06 CEST 2025
this patch series adds ldap and active directory (ad) support to proxmox
datacenter manager. the series first moves some of the sync logic for
ldap & ad realms out of proxmox backup manager into the proxmox-ldap
crate.
the next series of patches fixes up the existing proxmox-yew-comp
components for adding and editing realms to function as intended for
adding, editing, removing and syncing ad and ldap realms.
finally, we add the necessary backend infrastructure and api endpoints
to proxmox datacenter manager and expose the new ui components there.
this series does not yet move proxmox backup server to use the new
common crate. doing so would mean that proxmox backup server would also
need to start using proxmox-access-control, which would be a lot more
involved and is beste handled in a separate series in my opinion.
Changelog
---------
changes since v1, thanks @ Christoph Heiss:
- added a patch to adjust the layout and placeholders for the edit/add
window of ldap and ad realms
- made the sync dialog respect the configured sync settings for the
realm
- made the user management component reload when being re-opened, so the
state isn't cached.
things from Christoph's notes that i haven't touched:
- did not add comment syncing as that isn't part of pbs either (if we
want to add that, imo we should do so after we factored out pbs' code
properly)
- "Enable new users" did behave as inteded in my testing
- no realm being ticket as default if default isn't set (this matches
pbs' behaviour but i'll tackle further default realm support in
general in a follo up series)
- cli support will be tackled in a follow (depends on whether we want to
factor out more of the api parts or not)
see also the discussion in the old thread [1].
[1]: https://lore.proxmox.com/pdm-devel/DCZDLVQC9V6B.30GUQRQFGXCX6@proxmox.com/T/#u
proxmox:
Shannon Sterz (1):
ldap: add types and sync features
Cargo.toml | 2 +-
proxmox-ldap/Cargo.toml | 22 ++
proxmox-ldap/debian/control | 31 ++-
proxmox-ldap/debian/copyright | 2 +-
proxmox-ldap/src/lib.rs | 6 +
proxmox-ldap/src/sync.rs | 496 ++++++++++++++++++++++++++++++++++
proxmox-ldap/src/types.rs | 317 ++++++++++++++++++++++
7 files changed, 873 insertions(+), 3 deletions(-)
create mode 100644 proxmox-ldap/src/sync.rs
create mode 100644 proxmox-ldap/src/types.rs
proxmox-yew-comp:
Shannon Sterz (6):
auth_view: add default column and allow setting ldap realms as default
utils: add pdm realm to `get_auth_domain_info`
auth_view/auth_edit_ldap: add support for active directory realms
auth_edit_ldap: add helpers to properly edit ad & ldap realms
auth_view: implement syncing ldap and ad realms
auth_edit_ldap: improve form layout and placeholders
src/auth_edit_ldap.rs | 215 ++++++++++++++++++++++++++++++--------
src/auth_view.rs | 223 +++++++++++++++++++++++++++++++++++++---
src/common_api_types.rs | 3 +
src/utils.rs | 18 +---
4 files changed, 392 insertions(+), 67 deletions(-)
proxmox-datacenter-manager:
Shannon Sterz (6):
config: add domain config plugins for ldap and ad realms
server: add ldap and active directory authenticators
server: api: add api endpoints for configuring ldap & ad realms
api/auth: add endpoint to start ldap sync jobs
ui: add a panel to allow handling realms
ui: make the user tab reload when re-opened
Cargo.toml | 1 +
lib/pdm-api-types/src/acl.rs | 3 +
lib/pdm-api-types/src/lib.rs | 7 +
lib/pdm-config/Cargo.toml | 1 +
lib/pdm-config/src/domains.rs | 35 +++
server/Cargo.toml | 1 +
server/src/api/access/domains.rs | 90 ++++++-
server/src/api/config/access/ad.rs | 355 +++++++++++++++++++++++++
server/src/api/config/access/ldap.rs | 372 +++++++++++++++++++++++++++
server/src/api/config/access/mod.rs | 8 +-
server/src/auth/ldap.rs | 315 +++++++++++++++++++++++
server/src/auth/mod.rs | 17 +-
ui/src/configuration/mod.rs | 26 +-
13 files changed, 1221 insertions(+), 10 deletions(-)
create mode 100644 server/src/api/config/access/ad.rs
create mode 100644 server/src/api/config/access/ldap.rs
create mode 100644 server/src/auth/ldap.rs
Summary over all repositories:
24 files changed, 2486 insertions(+), 80 deletions(-)
--
Generated by git-murpp 0.8.1
More information about the pdm-devel
mailing list