Skip to content

Operator Helm chart with OperatorConfigurationCRD default values #1197

@dalbani

Description

@dalbani
  • Which image of the operator are you using? registry.opensource.zalan.do/acid/postgres-operator:v1.5.0
  • Where do you run it - cloud or metal? Kubernetes or OpenShift? GKE
  • Are you running Postgres Operator in production? yes
  • Type of issue? feature request

The operator Helm chart ships with 2 default values file:

The first one is to be used with configTarget: ConfigMap, the second with configTarget: OperatorConfigurationCRD.
But I couldn't find a way to actually use values-cr.yaml when deploying the operator with Helm.
I suppose I could copy/paste the whole content of values-cr.yaml in my own file and pass it to Helm.
But, for maintainability/readability reason, I'd prefer to keep overridden values only.
Is there a way to do that?

Here's an example of the values.yaml that I pass to Helm that triggers the issue:

configTarget: OperatorConfigurationCRD
configGeneral:
  docker_image: registry.opensource.zalan.do/acid/spilo-12:1.6-p5

I then get this error:

Error: OperatorConfiguration.acid.zalan.do "postgres-operator" is invalid: []: Invalid value: ...
validation failure list:
  configuration.min_instances in body must be of type integer: "string"
  configuration.kubernetes.enable_pod_disruption_budget in body must be of type boolean: "string"
  configuration.kubernetes.enable_sidecars in body must be of type boolean: "string"
  ...

That's logical because Helm picks the default values from the chart's values.yaml, which contains values which are not compatible with OperatorConfigurationCRD (e.g. string vs int).

Is there an advanced feature in Helm that I missed to overcome that?
Or do I need to host my own fork of the chart where the content of values.yaml is replaced by values-crd.yaml?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions