Skip to content

Expose Geo project/file registry details in the UI: Design artifact

Description

Geo secondaries have a wealth of information about project and file synchronization. There is an API for reading this data, but we should also allow failures to be exposed in the UI.

There are two obvious places for this:

A. Project page

e.g. https://gitlab.com/gitlab-org/gitlab-ce

On the secondary, we can show an "out of date!" warning, telling all users of the secondary that there are changes waiting to be synced. If the sync is suffering errors, we can display those here too, and go from a "warning" state to an "error" state.

A customer also asked to add a button to force the resync: ZD: https://gitlab.zendesk.com/agent/tickets/96217

There might be an argument for displaying this data only to admins, but I'm comfortable with at least showing it to project members, and probably everyone.

Example from pull mirroring

For project mirrors, we have this handy interface at the top of the repository for 10.6:

image

Something like this, showing "Last update" details and an "Update" button, would be handy for Geo as well.

B. Admin page

We should have a simple CRUD interface to all the project and file registries. The /admin/geo_nodes page can link the failures to this page. It should be possible to look up the status of any project, and perhaps to find all projects with a given error text, from this interface.

Design

Contexual Sidebar

  • Add Projects under Geo.
  • "Geo nodes" is changed to Nodes.

New structure:

  • Geo
  • Nodes
  • Projects

Geo > Projects

  • There is a Resync button in the header.
  • The "Project" boxes collapse as default.
  • It shows 20 "project" boxes on every single page.
  • The project names link to the specific project page (e.g. https://gitlab.com/gitlab-org/gitlab-ee)
Project homepage Geo > Projects
01-project-page--default 02-admin-registries

Warning/Error messages

Warning
  • Copy: There are some changes waiting to be synced on this Geo secondary. [Sync now] or [Learn more]
  • Learn more navigates users to Geo > Projects page.
  • Background color: $orange-500

sync-warning

Error
  • Copy: There are some syncing errors on this Geo secondary. [Sync now] or [Learn more]
  • Learn more navigates users to Geo > Projects page.
  • Background color: $red-500

sync-error

/cc @jramsay @stanhu

Edited by Hazel Yang