Skip to content

Determine whether to keep a single operator for both Runner and Server, or to split them

We have a decision to make regarding whether we should offer a single operator for both GitLab and the Runner, or to offer two. Let's use this issue to decide on a path forward before we get too far along.

Trade offs:

  • Additional technical complexity in single consolidated operator
    • Runner and GitLab instance are deploying resources in different ways (Helm vs. raw manifests)
  • Runner is likely to be deployed in many more environments, for example in production clusters for customer applications
    • Having the capability to deploy GitLab there could be considered a security risk, or undesirable
  • There is an ease of use benefit of being able to deploy a single Operator once, and then deploy Runners and GitLab with just a single CR
  • Versioning may be a challenge between both of these
    • GitLab application versioning is based from gitlab-org/gitlab, and this generally specifies all component versions. This has very regular Major.Minor.Patch, including many Patch per month.
    • GitLab Runner application versioning does not always align to the Major.Minor.Patch of the GitLab application, and is often released only once per milestone at Major.Minor.0
Edited by Jason Plum