Skip to content

feat(helm): Add extraObjects value - #3172

Open
thcdrt wants to merge 1 commit into
zalando:masterfrom
thcdrt:dev/thcdrt/add-helm-chart-extra-objects-value
Open

feat(helm): Add extraObjects value#3172
thcdrt wants to merge 1 commit into
zalando:masterfrom
thcdrt:dev/thcdrt/add-helm-chart-extra-objects-value

Conversation

@thcdrt

@thcdrt thcdrt commented Aug 17, 2026

Copy link
Copy Markdown

Add extraObjects to the Helm chart

Adds an extraObjects value that lets users deploy arbitrary manifests as part of the postgres-operator release. Defaults to [], so rendered output is unchanged for existing users.

Why ?

We deploy the operator with ArgoCD, where the chart is the unit of deployment: ArgoCD applies what the chart renders and nothing else. But several operator settings only point at a resource the chart cannot create — pod_environment_configmap, pod_environment_secret, infrastructure_roles_secret_name, oauth_token_secret_name.

Our blocker is pod_environment_configmap: to let Patroni reach an external etcd v3, every database pod needs the etcd cert paths in its environment, which requires a ConfigMap the chart has no way to create. The alternatives — a second ArgoCD Application for one ConfigMap, a Kustomize wrapper, or an out-of-band kubectl apply — all put a resource the operator depends on outside the sync loop.

extraObjects keeps the operator and the resources it references in one self-contained release. Traefik, kube-prometheus-stack and Grafana expose the same escape hatch.

Usage

extraObjects:
  - apiVersion: v1
    kind: ConfigMap
    metadata:
      name: pod-environment
      namespace: '{{ .Release.Namespace }}'
    data:
      ETCD3_CACERT: /certs/ca.crt
      ETCD3_CERT: /certs/tls.crt
      ETCD3_KEY: /certs/tls.key

configKubernetes:
  pod_environment_configmap: '{{ .Release.Namespace }}/pod-environment'

Entries may be maps or strings, and are rendered with tpl so Helm templating works in values.

Testing

helm template verified for both forms, with templating expanded, and confirmed identical output to master with default values.

Thomas

Signed-off-by: Thomas Coudert <thomas.coudert@ovhcloud.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant