younsl opened a new pull request, #196: URL: https://github.com/apache/superset-kubernetes-operator/pull/196
## Summary This PR adds an extraObjects list to the Helm chart that renders arbitrary additional Kubernetes manifests alongside the chart's own resources. Operators commonly need small companion objects deployed together with the operator — a cert-manager Certificate backing metrics.certSecretName, a NetworkPolicy for the manager pod, or an ExternalSecret — and today that requires either a separate wrapper chart or a manual kubectl apply step outside the Helm release. With extraObjects, those manifests live in the same release and are upgraded and garbage-collected with it. Every entry is passed through Helm's [tpl function](https://helm.sh/docs/howto/charts_tips_and_tricks/#using-the-tpl-function), so template expressions such as {{ .Release.Namespace }} and {{ include "superset-operator.fullname" . }} resolve at install time. Requests like apache/superset#41073 (adding a dedicated Gateway API HTTPRoute template to the Superset application chart) illustrate the recurring demand for shipping companion resources with a release; an extraObjects escape hatch covers such needs for this chart without requiring a dedicated template and review cycle for each resource type. This mirrors the extraObjects/extraManifests convention established by widely used community charts: - [argo-cd](https://github.com/argoproj/argo-helm/blob/main/charts/argo-cd/values.yaml) (extraObjects) - [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml) (extraManifests) - [traefik](https://github.com/traefik/traefik-helm-chart/blob/master/traefik/values.yaml) (extraObjects) - [velero](https://github.com/vmware-tanzu/helm-charts/blob/main/charts/velero/values.yaml) (extraObjects) - [external-secrets](https://github.com/external-secrets/external-secrets/blob/main/deploy/charts/external-secrets/values.yaml) (extraObjects) ## Details - templates/extra-objects.yaml iterates .Values.extraObjects. Entries may be YAML objects (rendered via toYaml then tpl) or raw strings (passed to tpl directly, for manifests that must carry literal template syntax). - values.yaml documents both entry forms with examples; the default is an empty list, which renders nothing. - values.schema.json gains a matching extraObjects entry (array of object-or-string). Required because the schema declares additionalProperties: false — without it, setting the value fails installation. - No Chart.yaml version bump: the chart version stays 0.0.0-dev on main and is stamped by scripts/release-rc.sh at release time, consistent with prior chart changes. - Verified with make helm-lint and helm template for the object form, the string form, and the empty default. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
