From: Shan Shaji <s.shaji@proxmox.com>
To: pdm-devel@lists.proxmox.com
Subject: [RFC PATCH datacenter-manager 0/3] ui: acl: pre-populate permission path selector
Date: Wed, 25 Mar 2026 16:35:32 +0100 [thread overview]
Message-ID: <20260325153535.286380-1-s.shaji@proxmox.com> (raw)
vikunja ticket: #858
Creating this series as an RFC because, after populating the resource paths
and testing them, AFAIU some of the permissions were not working because of
our current API level permissions.
I have tested the cases listed below. Would like to confirm if the desired and
expected behaviour that i mentioned is correct and if I have missed anything. Since i
was not sure about the correct behaviour I haven't made any updates in the API
level permissions.
Backup Server
=============
remote_name = backup
node_name = localhost
Role = Auditor
datastore_name = backup
- /resource/backup
- This was working even without enabling the propagate flag. Not sure if
that is expected.
- Desired behaviour: when propagate flag is enabled, the resources need to
be shown, else the remote should be visible under the remotes but the
resources shouldn't be visible.
- /resource/backup/datastore/backup
- The datastore details are not shown either in the remote dashboard or in
the main dashboard.
- Desired behaviour:
- The remote needs to be visible under remotes of the sidebar.
- The datastore details need to be visible under the remote overview section.
- Datastore status needs to be visible under the main dashboard.
- /resource/backup/node
- propagate enabled: not working
- propagate disabled: not working
- Desired behaviour:
- The remote should be visible under the remotes in the sidebar.
- When propagate is enabled, all the resources in the specific node needs to
be visible.
- /resource/backup/node/localhost
- not working even when propagate is enabled.
- Desired behaviour: similar behaviour to /resource/backup/node
Cluster
=======
remote_name = cluster
nodes = 3
Role = Auditor
guests = 5
- /resource/cluster
- The remote was shown in the dashboard. However, I was getting a 403
error (user has no access to resource list).
- When the propagate flag is set, the resource list loads correctly.
- /resource/cluster/guest
- propagate disabled: Not working (expected)
- Not working even when the propagate flag is set to true. The remote is not
listed under the remotes in the sidebar. Also, the guest statuses were not
being shown in the dashboard as well.
- Desired behaviour: when propagate is enabled, all virtual guests inside the
specific remote need to be visible.
- /resource/cluster/guest/{100,101,102}
- not working, the guest status was not shown in the main dashboard or in the
remote-specific dashboard.
- The propagate option doesn't matter here as it's a specific resource.
- Desired behaviour: The guest status needs to be shown in the dashboard.
The remote needs to be listed under remotes.
- /resource/cluster/node
- propagate disabled: Not working (expected)
- propagate enabled: Not working
- Desired behaviour: When propagate is enabled, the remote needs to be visible
under remotes and the node resources need to be visible
inside the remote dashboard.
- /resource/cluster/node/pve-node-1
- propagate disabled: Not working (expected)
- propagate enabled: Not working
- Desired behaviour: when propagate is enabled, the remote needs to be
visible under remotes and the node-specific resources
need to be visible under the remote dashboard.
PVE node
========
remote_name = trial
Role = Auditor
guests = 1
node_name = pve-free-trial
- /resource/trial
- propagate disabled: 403 error (user has no access to resource list). (expected)
- propagate enabled: The resources are visible under the dashboard. (expected)
- /resource/trial/guest
- propagate disabled: No remote under remotes and no status under the
main dashboard. (expected)
- propagate enabled: No remote under remotes and no status under the main
dashboard.
- Desired behaviour: when propagate is enabled, the guest statuses need to be
shown.
- /resource/trial/guest/100
- propagate doesn't matter here as it's a specific resource.
- not working, the guest status is not being shown inside the remote-specific
dashboard or in the main dashboard.
- /resource/trial/node
- propagate disabled: no resources are loaded. (expected)
- propagate enabled: no resources are loaded. (not expected)
- Desired behaviour: The node resources need to be visible under the remote-
specific dashboard and in the main dashboard when propagate is enabled.
- /resource/trial/node/pve-free-trial
- propagate disabled: no resources are loaded. (expected)
- propagate enabled: no resources are loaded. (not expected)
- Desired behaviour: The node resources need to be visible under the remote
dashboard and in the main dashboard when propagate is enabled.
Views
=====
views_count = 2
- /view/layout
- User can view the specific view.
- /view
- propagate enabled: Both views are visible to the user.
- propagate disabled: Views are visible under the views in the sidebar but the
resources are not visible when clicking on each view.
Shan Shaji (3):
pdm-client: add `list_views` function to fetch views list
ui: acl: list granular level permission paths for views
ui: acl: list granular level permission paths for resources
lib/pdm-api-types/src/acl.rs | 3 +-
lib/pdm-client/src/lib.rs | 10 ++
.../configuration/permission_path_selector.rs | 125 +++++++++++++++---
3 files changed, 121 insertions(+), 17 deletions(-)
--
2.47.3
next reply other threads:[~2026-03-25 15:35 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-25 15:35 Shan Shaji [this message]
2026-03-25 15:35 ` [RFC PATCH datacenter-manager 1/3] pdm-client: add `list_views` function to fetch views list Shan Shaji
2026-03-25 15:35 ` [RFC PATCH datacenter-manager 2/3] ui: acl: list granular level permission paths for views Shan Shaji
2026-03-26 11:16 ` Shannon Sterz
2026-03-25 15:35 ` [RFC PATCH datacenter-manager 3/3] ui: acl: list granular level permission paths for resources Shan Shaji
2026-03-26 11:16 ` Shannon Sterz
2026-03-26 13:58 ` Shan Shaji
2026-03-27 10:21 ` Lukas Wagner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260325153535.286380-1-s.shaji@proxmox.com \
--to=s.shaji@proxmox.com \
--cc=pdm-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.