Skip to content

Operations Dashboard MVC

This issue is intended to serve as an MVC iteration of the larger Ops Dashboard: https://gitlab.com/gitlab-org/gitlab-ee/issues/1788

Goals

We are working on awesome views for the developer to watch their deployments and monitor the state of their apps. But these views are developer-centric. If you are responsible for the overall health of your company's operations, you need a more holistic view.

Proposal

Instance wide workflow

This should be an instance wide workflow.

  • Project is too narrowly focused, especially for microservice oriented applications
  • Groups can be used in different ways, and so are also not a good candidate for this workflow. In some cases the microservices of a single app may all be in one group. However it is quite possible for companies to also organize groups based on organizational hierarchy, since a group affects other features like authentication, authorization, and more. It is also possible for there to be 20+ tiers of subgroups, which would introduce further challenges in group design.
  • An instance wide workflow does not suffer from these limitations, and will function regardless of how your group hierarchy is configured. This also would work in the event that you contribute to projects in different groups, or care about the operational health of projects you may not be directly involved in.

We will need to consider where to place this workflow, since we don't have a traditional home for instance wide workflows today. Possible candidates:

  • Somewhere in your profile
  • A new top level nav item, since we will also have other flows that need this as well like the Security dashboard.

Able to be set as Homepage

This flow should be able to be set as your default page when opening GitLab. This way Operations users can have a relevant home page when they login.

Add projects by searching by project name

We will add a search box at the top of the homepage, which can be used to search for projects. Selected projects will be added to the homepage.

  • They will appear if you have appropriate access rights to view environments. (developer or above)
  • Sorting, deleting from page, etc. can be later improvements.

Dashboard

For the MVC, we want to show a few key metrics for each project.

  • Red/Green status based on whether there are any alerts actively firing.
    • Clicking on R/G status takes you to the metrics dashboard for that project

Required internal changes

Design

Set as the default dashboard

You can set "Operations dashboard" as the default dashboard on Settings > Preferences (https://gitlab.com/profile/preferences).

02-set-as-default-dashboard

Operations dashboard

  • It is at the instance level, so you can access it on the main navigation.
  • It shows two projects in each row.
  • You can add/remove projects directly on the dashboard.
  • Add projects: enter a project name in the search box, and select a result.
  • Remove projects: Click ellipsis-v icon and click "Remove" in the dropdown menu.
Default Add projects
01-operations-dashboard 01.2-operations-dashboard--add-projects
Empty state
  • Title: Add a project to the dashboard
  • Subtitle: The operations dashboards provides a summary of each project operational health, including pipeline status and Apdex score.
  • SVG: illustrations/operations-dashboard_empty.svg in gitlab-svgs

00-operations-dashboard-empty

Next steps

Edited by Joshua Lambert