Cells: Use Topology Service to identify the correct Cell for /allowed request
Overview
The general information can be found in Cells: SSH Routing for Git Pull (&13532)
Topology Service is a gRPC server that provides an answer to the following question: To which cell an HTTP request related to a particular record (project, group, etc...) should be routed?
Requirement
This commit !969 (c4a952fc) partially does it:
- It adds Topology Service PoC as a local dependency
- Assumes that Topology Service is running locally
- Performs gRPC calls to the Topology Service and routes GitLab Shell HTTP calls based on the response
This issue is about making this functionality production-ready. But it's currently blocked by Topology Service production readiness.
Prepequisite
As demonstrated in !969 (c4a952fc) GitLab Shell is not flexible enough to customize the host of HTTP request. Feel free to create a separate issue/MR for refactoring.