Uploaded image for project: 'Observability UI'
  1. Observability UI
  2. OU-1138

Create management actions on perses dashboard list

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major Major
    • COO 1.4.0
    • None
    • None
    • None
    • Product / Portfolio Work
    • None
    • None
    • 5
    • None
    • None
    • Sprint 283

      Background

      Based on the dashboard list view. Each dashboard row should have actions so the dashboard management is easy for users. Each action should be grayed out if the current user does not have permissions to execute the action.

      Follow the UX figma designs for guidance: https://www.figma.com/design/lJdJZqOyKqfIJWxOljC526/Dashboard?node-id=112-2&p=f&t=xqO2BjlkCZKSx4Fp-0 

      Outcomes

      • Users can rename an existing dashboard by clicking the kebab menu in the dashboard row and clicking "rename"
      • Users can duplicate an existing dashboard by clicking the kebab menu in the dashboard row and clicking "duplicate"
      • Users can delete an existing dashboard by clicking the kebab menu in the dashboard row and clicking "delete"
      • If the current user has no permission to execute any of these actions, the button or option should be grayed out

      Not in Scope

      • Creating dashboards from a template: this will be covered by its own task. For this task the button should execute the action directly, not list the available actions for dashboard creation
      • Import dashboards, this will be addressed in https://issues.redhat.com/browse/OU-1139
      • Export as YAML, is already implemented in the dashboard view from the Perses components
      • Duplicating as temporary dashboard. We currently don't support ephemeral dashboards.

      Plan 

      • (< 1 pt) Use console SDK hook `useAccessReview` to get RBAC list of actions for the user
        • RBAC verbs / actions to look for 'create', 'update', 'delete'
        • Disable buttons based on RBAC 
          • 'create' = duplicate dashboard 
          • 'update' = rename dashboard 
          • 'delete' = delete dashboard 
      • (< 1 pt) 'Rename dashboard' in kebab
        • API request to update dashboard name, see example from perses/perses
      • (1 pt) 'Duplicate dashboard' in kebab
        • API request to create a duplicate dashboard, see example from perses/perses
        • (temporary / ephemeral dashboards not in scope)
        • After API request, the URL will navigate to the DashboardPage in edit mode
      • (< 1 pt) 'Delete dashboard' in kebab
        • API request to delete dashboard, see example from perses/perses
      • (1 pt) Smoke testing on cluster with user roles - 'list', 'create', 'update', 'delete'
      • (1-2 pt) Code Review + Addressing QE findings 

              jezhu@redhat.com Jenny Zhu
              gbernal@redhat.com Gabriel Bernal
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: