[pdm-devel] [PATCH datacenter-manager/proxmox/yew-comp 0/9] ACL edit api and ui components
Shannon Sterz
s.sterz at proxmox.com
Fri Apr 11 15:45:18 CEST 2025
Superseeded-by: https://lore.proxmox.com/pdm-devel/20250411134435.269524-2-s.sterz@proxmox.com/T/#t
On Thu Apr 3, 2025 at 4:17 PM CEST, Shannon Sterz wrote:
> this series aims to make more parts of our access control list
> implementation re-usable between products. in a first step most of the
> relevant api endpoints and api types are moved to
> `proxmox-access-control`. this is done by adding a new `api` feature
> that includes the necessary api endpoints. the `AccessControlConfig`
> trait is also expanded to make the api endpoints more adaptable to
> different products. by providing default implementations for the newly
> added trait functions existing users don't need to change anything.
>
> next the series adds components to proxmox-yew-comp to provide a panel
> for inspecting the current acl and adding or removing entries. this is
> done by using the existing `RoleSelector` and `AuthidSelector`
> components. the later is also slightly adapted to make it possible to
> change the api endpoint that roles are fetched from as well as the
> default role. the `AclView` component allows users of the crate to add
> more options for adding ACL entries. meaning they can configure distinct
> components for adding user, token or group permissions. this is done in
> a generic fashion so that extending this menu does not require changing
> the component again.
>
> finally proxmox-datacenter-manager is adapted to use the new api
> endpoints in `proxmox-access-control` and a permissions panel is
> implemented. note that this would benefit from some clean-up once
> permission path and such are cleaned up.
>
> proxmox:
>
> Shannon Sterz (4):
> access-control: add more types to prepare for api feature
> access-control: add acl api feature
> access-control: add comments to roles function of AccessControlConfig
> access-control: add generic roles endpoint to `api` feature
>
> proxmox-access-control/Cargo.toml | 8 +
> proxmox-access-control/src/acl.rs | 12 +-
> proxmox-access-control/src/api.rs | 321 ++++++++++++++++++
> .../src/cached_user_info.rs | 4 +-
> proxmox-access-control/src/init.rs | 27 +-
> proxmox-access-control/src/lib.rs | 3 +
> proxmox-access-control/src/types.rs | 87 ++++-
> 7 files changed, 450 insertions(+), 12 deletions(-)
> create mode 100644 proxmox-access-control/src/api.rs
>
>
> proxmox-yew-comp:
>
> Shannon Sterz (3):
> api-types/role_selector: depend on common `RoleInfo` type
> acl: add a view and semi-generic `EditWindow` for acl entries
> role_selector/acl_edit: make api endpoint and default role
> configurable
>
> src/acl/acl_edit.rs | 112 +++++++++++++++++
> src/acl/acl_view.rs | 270 ++++++++++++++++++++++++++++++++++++++++
> src/acl/mod.rs | 5 +
> src/common_api_types.rs | 8 --
> src/lib.rs | 3 +
> src/role_selector.rs | 22 +++-
> 6 files changed, 407 insertions(+), 13 deletions(-)
> create mode 100644 src/acl/acl_edit.rs
> create mode 100644 src/acl/acl_view.rs
> create mode 100644 src/acl/mod.rs
>
>
> proxmox-datacenter-manager:
>
> Shannon Sterz (2):
> server: use proxmox-access-control api implementations
> ui: configuration: add panel for viewing and editing acl entries
>
> server/Cargo.toml | 2 +-
> server/src/acl.rs | 102 ++++-
> server/src/api/access/acl.rs | 357 ------------------
> server/src/api/access/mod.rs | 4 +-
> ui/src/configuration/mod.rs | 23 +-
> .../configuration/permission_path_selector.rs | 88 +++++
> 6 files changed, 210 insertions(+), 366 deletions(-)
> delete mode 100644 server/src/api/access/acl.rs
> create mode 100644 ui/src/configuration/permission_path_selector.rs
>
>
> Summary over all repositories:
> 19 files changed, 1067 insertions(+), 391 deletions(-)
>
> --
> Generated by git-murpp 0.8.0
More information about the pdm-devel
mailing list