Draft: feat: implement GraphQL stitching for artifact registry

What does this MR do and why?

feat: implement GraphQL stitching for artifact registry

Add graphql-stitching gem to compose GitlabSchema with the artifact registry Go service's GraphQL API into a unified supergraph. Requests for artifact registry types route to the Go service; all other queries stay with GitlabSchema.

  • Add graphql-stitching gem (~> 1.7)
  • Add StitchingClient with suppressed composition validations
  • Add GraphqlExecutable for HTTP transport to Go service
  • Add artifact registry SDL (schema.graphqls)
  • Integrate stitched schema in GraphqlController
  • Migrate frontend queries to flat schema (no organization wrapper)
  • Use numeric organizationId instead of Rails GID
  • Remove artifact registry type registrations from GitlabSchema
  • Update JwtController and auth service for identity token exchange

Configured to work with Artifact Registry backend in https://gitlab.com/rchanila/artifact-registry-poc/-/tree/graphql?ref_type=heads

References

Screenshots or screen recordings

Before After

How to set up and validate locally

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.

Edited by Rahul Chanila

Merge request reports

Loading