Add the remote connection indicator and its test action
What does this MR do and why?
Draws a remote repository's stored connection verdict, and the control that refreshes it, on two surfaces: the repository edit form and the repository detail sidebar. Both read the verdict Artifact Registry recorded, whether the probe behind it came from either surface or from AR's own scheduled sweep.
A shared connection_indicator.vue renders the three HealthStatus values as
a badge carrying an icon and a word, so the verdict reaches a reader who
cannot see its colour, plus the time it was recorded. It stacks by default and
draws on one row when asked.
The edit form adds a test action over a wholly @client mutation in the local
Apollo layer, so the flow is drivable in a browser ahead of its schema. A
resolved probe updates the indicator in place and reports itself on a transient
line carrying the upstream HTTP status. The detail sidebar hosts the same probe
and reports it through a toast, having no room for a line beside the badge.
An unreachable upstream is a result rather than an error and does not block submit. Only a probe that could not run at all raises the service-unavailable alert, and it leaves the stored verdict alone.
This MR implements two steps from two plans:
| Plan | Step |
|---|---|
| monolith/S07 Repository CRUD - remote repositories | Step 7: Connection indicator and the test action on the edit form |
| monolith/S05 repository detail - remote repositories | Step 8: Connection sidebar section |
They ship together because S05 Step 8 mounts connection_indicator.vue, which
S07 Step 7 creates. Splitting them would put a component and its only second
consumer in two MRs with a merge order between them.
Screenshots or screen recordings
| Surface | State |
|---|---|
| Edit form | ![]() |
| Detail sidebar | ![]() |
Both are behind a disabled flag; screenshots to follow from a local GDK run.
How to set up and validate locally
- Enable the flag:
Feature.enable(:artifact_registry_ui). - Open a remote repository's edit form. The Source section carries the test action and the indicator.
- Click Test upstream connection repeatedly. The mock cycles a healthy
probe, a failure that leaves the stored verdict alone, a failure that flips
it, and an AR
500. - Open the same repository's detail page. The sidebar's Connection section hosts the same probe and reports it through a toast.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Behind the artifact_registry_ui feature flag, which is disabled, so there is no changelog entry.
Related to #618515 (closed) Related to gitlab-org#22453

