Add IAM Relationships/Update gRPC stubs to vendored client

What does this MR do and why?

Regenerates the vendored gitlab-iam-grpc client to include the relationships and update services from the IAM repo (gitlab-org/auth/iam). These stubs are needed to call the IAM Relationships API write path (update.v1.UpdateService.WriteRelationships).

It also extends scripts/update-iam-grpc-client.sh so these services are generated by the script rather than hand-added: the script now preprocesses each proto to strip the buf.validate options (enforced server-side, ignored by generated Ruby) and to flatten the repo-root-relative proto/ import prefix to match the vendored flat layout. The committed auth stubs are unchanged.

Infrastructure split out of the Artifact Registry role-assignment work (!241285 (merged)), which consumes these stubs.

References

  • Consumed by: !241285 (merged) (GraphQL mutation to assign Artifact Registry roles)
  • Task: #602144
  • Source protos: gitlab-org/auth/iam (proto/relationships, proto/update)

Screenshots or screen recordings

Not applicable — vendored gRPC client stubs.

How to set up and validate locally

  1. Clone the IAM repo: git clone https://gitlab.com/gitlab-org/auth/iam.git
  2. Regenerate: scripts/update-iam-grpc-client.sh <path-to-iam-repo>
  3. Confirm the stubs load:
    require 'update/update_services_pb'
    Update::V1::UpdateService::Stub
    Relationships::V1::RelationshipInput

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist.

🤖 Generated with Claude Code

Edited by Diane Russel

Merge request reports

Loading