Define Watches in Helm-based operators

Specification for the watches.yaml file in Helm-based operators.

The Watches file contains a list of mappings from custom resources, identified by it’s Group, Version, and Kind, to a Helm chart. The Operator expects this mapping file in a predefined location: /opt/helm/watches.yaml

The follow tables describes the fields in an entry in watches.yaml:

FieldDescription
groupThe group of the Custom Resource that you will be watching.
versionThe version of the Custom Resource that you will be watching.
kindThe kind of the Custom Resource that you will be watching.
chartThe path to the helm chart to use when reconciling this GVK.
watchDependentResourcesEnable watching resources that are created by helm (default: true).
overrideValuesValues to be used for overriding Helm chart’s defaults. For additional information see the reference doc.
selectorThe conditions that a resource’s labels must satsify in order to get reconciled. For additional information see labels and selectors documentation.

For reference, here is an example of a simple watches.yaml file:

  1. # Use the 'create api' subcommand to add watches to this file.
  2. - group: foo.example.com
  3. version: v1alpha1
  4. kind: Foo
  5. chart: helm-charts/foo
  6. overrideValues:
  7. image.repository: quay.io/mycustomrepo
  8. watchDependentResources: false
  9. selector:
  10. matchExpressions:
  11. - {key: testLabel, operator: Exists, values: []}

Last modified August 2, 2021: predicate for helm (#4997) (65480f48)