[馃 ] Steps as a service
GitLab Runner pulls its work from GitLab CI. This allows it to be behind a firewall (self-hosted) and rate-limit its workload. When GitLab Runner sends steps to Step Runner inside the ephemeral VM, it provides just an opaque list of steps. Step Runner is not aware of CI.
Other systems can use a scalable pool of isolated execution environments. E.g. other GitLab systems like CI Events. The Step Runner gRPC interface can be wrapped in an auth(z) layer to provide a Steps Service. It can accept steps to run, and it can use the same kind of execution environment as GitLab Runner. A single machine image which provides step runner can be used to run jobs and generic steps requests. The same goes for step runner integration in Kubernetes, etc...
Edited by Joe Burnett
