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 atMajor.Minor.0
- GitLab application versioning is based from gitlab-org/gitlab, and this generally specifies all component versions. This has very regular
Edited by Jason Plum