Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Extras #7077

Closed
zendril opened this issue Nov 26, 2019 · 4 comments
Closed

Support Extras #7077

zendril opened this issue Nov 26, 2019 · 4 comments
Labels

Comments

@zendril
Copy link

zendril commented Nov 26, 2019

Feature Request: Ability to provide a template to add extra functionality to a chart.

Scenario: I pull a vendor chart and a feature isn't supported. For example, we might run additional deployments or a different ingress.

These are usually things that are extra and bespoke to our running of this chart.

Similar to #7076 except that usually means a small modification to the templates of the vendor chart, mostly until those changes get merged upstream. In this case, it is adding completely new functionality, but is driven by the same values.yaml in most cases (otherwise we would just create another chart for these).

Currently I have a folder called /manifest/extras that is in the same structure as the chart, I run a helm fetch, copy the extras on top and then run helm template.

The goal of this issue is to have the discussion about options for accomplishing this in a supported or well known paradigm.

@zendril
Copy link
Author

zendril commented Nov 26, 2019

@michelleN Here is the other scenario I brought up at the KubeCon table last week. Mind pulling in the right folks to noodle on this one as well?

@bacongobbler
Copy link
Member

potentially related: #5276

@bridgetkromhout
Copy link
Member

Hi, @zendril - I'm closing this issue because we now have a recommended path forward for proposals: if you'd like to formally propose this idea, please file a Helm Improvement Proposal to discuss it with the community. Thanks!

@wallrj
Copy link

wallrj commented Nov 30, 2023

In cert-manager/cert-manager#5900 @pierluigilenoci and I have been discussing whether it is sustainable for each Helm chart to implement its own values.extraObjects field.
Judging by the number of popular charts that have added extraObjects, this is clearly a needed feature.

Some use cases are:

  1. Platform team deploying cert-manager using Helm want to bundle some CNI manifests (e.g. Calico variant of NetworkPolicy) so that those cert-manager specific policies can be maintained alongside the cert-manager settings and uninstalled along with cert-manager.
  2. Platform team deploying cert-manager using Helm, want to bundle ConfigMaps containing Grafana dashboards for monitoring cert-manager. "It makes sense that all Grafana dashboards related to cert-manager are installed with the chart of the software itself without having to resort to external means.".

I think this should be implemented in Helm, probably as a helm install command line option, for the following reasons:

  1. It should be a more maintainable to implement helm install --user-supplied-manifests extra-objects/, than to add Values.extraObjects to each Helm chart.
  2. It should be more consistent to implement helm install --user-supplied-manifests extra-objects/, than for each Helm chart to implement the feature slightly differently
  3. It should be more user friendly to document helm install --user-supplied-manifests extra-objects/ thoroughly at helm.sh, than to document it (or not document it) chart-by-chart in the chart README file, for example.
  4. It should be more time efficient to discuss and plan this feature at https://github.com/helm/helm/, than to repeat the discussion with the maintainers of every Helm chart.

Please consider re-opening this issue.

Links of interest, in no particular order:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants