feat(homepage): add unless exclusion and tags for RBAC conditional filtering#3546
feat(homepage): add unless exclusion and tags for RBAC conditional filtering#3546karthikjeeyar wants to merge 1 commit into
unless exclusion and tags for RBAC conditional filtering#3546Conversation
|
This pull request adds a new top-level directory under |
153460c to
31443ff
Compare
|
Important This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior. Changed Packages
|
31443ff to
0c8d4c8
Compare
unless exclusion and tags for RBAC conditional filtering
0c8d4c8 to
cfc411a
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3546 +/- ##
==========================================
+ Coverage 53.74% 53.75% +0.01%
==========================================
Files 2268 2269 +1
Lines 86468 86500 +32
Branches 24268 24279 +11
==========================================
+ Hits 46468 46499 +31
- Misses 39774 39775 +1
Partials 226 226
*This pull request uses carry forward flags. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
…ltering Signed-off-by: Karthik <karthik.jk11@gmail.com>
cfc411a to
5147ac1
Compare
|



Hey, I just made a Pull Request!
Fixes:
https://redhat.atlassian.net/browse/RHIDP-14648
https://redhat.atlassian.net/browse/RHIDP-14649
Adds two new config-level features to homepage default widgets:
unlessconfig block: inverse ofif— uses the same shape (users,groups,permissions) but acts as a denylist. Checked beforeifso deny always wins. On group nodes, prunes the entire subtree.tagson widget nodes: optional string array (e.g.['admin', 'developer']) passed through to the API response. Used with the newHAS_TAGpermission rule for RBAC conditional policy filtering. Widgets without tags bypass tag-based filtering.HAS_TAGpermission rule: new rule registered alongsideHAS_WIDGET_IDfor thehomepage-default-widgetresource type. Matcheswidgets that have at least one overlapping tag.
authorizeConditionalfrombuildUserContextintoDefaultWidgetsServiceso the top-level RBAC filtering runs.unless,tags, filtering layer and permission rules table.{ ...mountPoint.config?.props, ...widget.props }).Screenshots:
How to test
Test widgets included in app-config.yaml, to switch different personas
examples/org.yaml— change the guest user's memberOf to match:conditional-policies.yamltags to filter the widgets.✔️ Checklist