You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(apps): dashboard resource Roles grant list and watch under resourceNames, which never matches #3613
Every packages/apps/*/templates/dashboard-resourcemap.yaml, 18 files, emits a Role named {{ .Release.Name }}-dashboard-resources whose rules pair resourceNames with verbs: ["get", "list", "watch"]. See packages/apps/bucket/templates/dashboard-resourcemap.yaml:9-14 for the secrets rule. A list or watch request carries no resource name, so the authorizer cannot match it against a rule that has resourceNames set, and only the get in those verb lists is ever effective.
A subject holding only this Role can fetch each object by name but gets a 403 on any collection request, so anything that enumerates rather than fetches comes back empty or errors.
The fix is to split each rule in two, keeping resourceNames with get and adding a separate name-less rule for list and watch scoped by resource type, accepting that list and watch are then namespace-wide for that type since that is the only granularity RBAC offers. Doing it in one sweep across all 18 charts keeps them consistent.
Same defect in one more place, found while building #3847: the vm-disk chart's per-release Role grants get, list and watch on the DataVolume under resourceNames. Only get works, the other two read as granted and are not, so a caller that wants to follow the disk has to poll instead of watch.
Activity
myasnikovdaniil commentedon Aug 16, 2026
Same defect in one more place, found while building #3847: the vm-disk chart's per-release Role grants
get,listandwatchon the DataVolume underresourceNames. Onlygetworks, the other two read as granted and are not, so a caller that wants to follow the disk has to poll instead of watch.