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