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:
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 |
---|---|
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
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