docs(specs): add monolith/S07 repository CRUD spec

What

Authors the monolith/S07 spec: the write slice for repositories — create, edit / advanced settings, and delete across the three kinds (hosted, remote, virtual). This is the UI monolith/S01 deliberately deferred. S07 is the first slice with mutations, so it introduces the base mutation the slice shares — composing monolith/S03's error rendering and cached-client acquisition (S03 defines no concrete mutation) — and each mutation calls the monolith/S02 client write methods and re-authorizes server-side; each write view registers its route into the S01 repositories SPA shell behind the shared flag.

S07 is the first feature slice out (ahead of S04 list / S05 detail), so it introduces the minimal concrete ArtifactRegistryRepository type, a single-repository read for edit prefill, and owns the repository write affordances (create button, row kebab, delete-toast) so S04/S05 stay read-only.

Why / key decisions (see the spec's Resolutions)

  • All three kinds as one CRUD contract, delivered in two phases mirroring S17's phase overview — Phase 1 hosted (implementable now against the frozen S02 client), Phase 2 remote/virtual (gated on a later S17 phase + S02 extension; Dependencies). The planner sequences Phase 1 first.
  • Authorization: UI pre-gating and the server-side ability re-check via the BatchCheck AR↔️GLAZ mechanism (design-doc!132, in design), with AR the authoritative authorizer (defense-in-depth).
  • Visibility: Public/Private only; Internal deferred to post-GA (ADR-021).
  • Test-connection is edit-time; remote upstream credentials are write-only.

Status: Approved, Open Questions empty. Merging is the approval signal.

Related to gitlab-org#21055

Edited by Zack Cuddy

Merge request reports

Loading
Loading