Relationships API proto

Relationships API - protobuf contract (R5): gen... (gitlab-org/gitlab#599075 - closed)

This MR introduces the first iteration of the Relationships API (R5) protobuf contract, scoped to what Artifact Registry needs for its .com go-live per AUTH-014. It is not the target-state contract.

In this iteration the schema covers:

  • Subject-centric reads (ReadRelationships) for the auth hot path
  • Atomic batch writes and deletes (WriteRelationships / DeleteRelationships)
  • Membership tuples only — containment, link, and custom roles are deferred per AUTH-014

What's deliberately left out of this MR:

  • The GLAZ embed check_permission contract for the interim (host-supplied tuples + ancestors + attributes). That's a separate piece of work — this MR only defines how those tuples are stored and read.
  • Inverse lookup RPCs (e.g. "who has access to this resource?")
  • Anything the target state (AUTH-018, GATE L1) will require — once Envoy/STS are in place, GLAZ fetches its own data and this contract's role narrows.

Forward-compat is built in: custom roles, additional relation types (containment/link), group-as-subject, and new optional filters can all be added without breaking the contract.

Edited by Shilpa Kundapur

Merge request reports

Loading