Replace subgroup name with annotations to isolate releases in one namespace

This is part of #819 (closed) which aims to install Operator in one step with a single command.

In order to isolate different releases in one namespace, Chart prepends subgroup name to CRD name. The better alternative is to use Annotations. All Custom Resources can be explicitly annotated with a release name. The same release name is also passed (e.g. as a command argument) to Operator to direct it to work only with those resources that are annotated accordingly. This annotation which can be called gitlab-class replaces subgroups and provides isolation.

Here is how it works:

  • Operator has a mandatory command argument (e.g. --gitlab-class) that MUST be set.
  • Custom Resource MAY be annotated with gitlab.com/class.
  • If Custom Resource is not annotated, Operator tries to infer its class from other annotations or labels, including Helm release label.
  • Operator MUST ignore resources that it couldn't classify.
  • Operator MUST only reconcile Custom Resources that belong to its specified class and ignore the rest.
Edited Apr 15, 2019 by Hossein Pursultani
Assignee Loading
Time tracking Loading