Page MenuHomePhabricator

Add support for a pool of backend hosts to DynamicProxy's urlproxy mode
Closed, ResolvedPublic

Description

Identified in T228500: Toolforge: evaluate ingress mechanism as a useful feature for fronting a Kubernetes cluster.

We would like to be able to configure a pool of backend servers which will handle ingress into the Toolforge Kubernetes cluster. The ideal solution would somehow interrogate the paired Kubernetes API to find the list of entry points, cache that list for X minutes, and also perform periodic dynamic health checks to ensure that the pooled entry points are responsive.

These changes also need to preserve backwards compatibility with the legacy grid engine backends as well as the legacy Kubernetes backends. This likely means a large rethinking of how the nginx config and urlproxy.lua interact, updating the data model of the invisible-unicorn registration service, and changes to kube2proxy.py to register things. So yeah... kind of rewrite the whole scattered stack and do it without breaking everything. ;)

Event Timeline

Assuming this task is about Toolforge, hence adding project tag so others can find this task when searching for tasks under that code project.

Bstorm claimed this task.
Bstorm added a subscriber: Bstorm.

This was done, but it was done differently.