We plan to run a series of small services as "support lambdas" for MediaWiki, using the php microservice described at T260330 as a basis.
Given we want the setup to be fast, we certainly don't want to have to go through the hassle of creating a new load-balanced service for each of them, given there could be several dozens of such very small services.
The workflow I envision for installing one of those php-backed services would be:
- Create a new namespace (optional)
- Create a new deployment definition for helmfile
- Create the deployment/namespace
- Wire the new deployment to be accessed under a url prefix on (say) `lambdaiod.discovery.wmnet`
The gateway (codename "lambdaoid", to keep up with the noble wikimedia tradition of service naming) itself will need to be accessible by the load-balancers as any other service on k8s, but the single deployments won't need to.
So, summing up, the gateway to the lambdas will need to have the following characteristics:
* FLOSS
* actively developed
* can work cross-namespaces
* zero or little configuration to wire in a new service
* Uses a boring technology (i.e. one we know already)
Nice to haves are:
* telemetry
* logging to logstash
* dynamic configuration reloading