This document is a work-in-progress and represents a very early state of the Pods design. Significant aspects are not documented, though we expect to add them in the future. This is one possible architecture for Pods, and we intend to contrast this with alternatives before deciding which approach to implement. This documentation will be kept even if we decide not to implement this so that we can document the reasons for not choosing this approach.
Pods: Router Endpoints Classification
Classification of all endpoints is essential to properly route request hitting load balancer of a GitLab installation to a Pod that can serve it.
Each Pod should be able to decode each request and classify for which Pod it belongs to.
GitLab currently implements hundreds of endpoints. This document tries to describe various techniques that can be implemented to allow the Rails to provide this information efficiently.