feat(helm): Add extraObjects value - #3172
Open
thcdrt wants to merge 1 commit into
Open
Conversation
Signed-off-by: Thomas Coudert <thomas.coudert@ovhcloud.com>
thcdrt
requested review from
FxKu,
Jan-M,
idanovinda,
jopadi and
mikkeloscar
as code owners
August 17, 2026 09:11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
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