Uploaded image for project: 'RH Developer Hub Planning'
  1. RH Developer Hub Planning
  2. RHDHPLAN-198

Enable conditional visibility of sidebar menu items based on user permissions in Red Hat Developer Hub (RHDH) dynamic plugins configuration

Prepare for Z ReleasePrepare Test Plan (Y R...XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • Dynamic plugins
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      Opened this based on https://issues.redhat.com/browse/RHDHSUPP-250.

      Problem Statement:

      Currently, Red Hat Developer Hub (RHDH) only supports static `enabled: true/false` configuration for sidebar menu items in the `dynamicPlugins.frontend.<package_name>.menuItems` configuration. This approach either shows menu items to all users or hides them from everyone, but does not provide the ability to conditionally show/hide menu items based on individual user permissions or roles.

      Current Limitation:

      dynamicPlugins:
        frontend:
           my-plugin:
              menuItems:
                 - text:"My Plugin"
                   enabled: true # Static boolean - affects ALL users
      

      Expected Behavior

      Users should be able to configure menu items with permission-based visibility similar to how upstream Backstage handles route-level permissions.

      Additional details

      • RBAC and BulkImport plugins already use permissions in their exported SidebarItem components but that is not directly being used in RHDH
      • Dynamic plugins can contribute custom SidebarItem components through `dynamicRoutes` configuration
      • Upstream Backstage supports `RequirePermission` component for route-level access control

              Unassigned Unassigned
              divgupta Divyanshi Gupta
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: