-
Notifications
You must be signed in to change notification settings - Fork 905
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
[Feature] Find a solution to reduce size of the chart #8162
Comments
From the discussion in the Weekly:
|
Also need an analysis of how close we actually are here and how much headroom we have. |
As a short term solution, can we strip comments / help on all non-default versions? |
Some references I came across:
|
We should have enough headroom in the near future with the removal of descriptions in #8185 |
IMO we should try to reduce more:
|
Side note prometheus-community/helm-charts#3548 |
This is also the approach I mentioned in the call initially, but we need to remove/deal (possibly with globals) with any rendering of names / labels we have in the CRDs ideally. Subcharts are supposed to be able to be standalone in helm, so you can't just "import" values from the parent chart. If we only had plain-text CRDs, then this would be the trivial solution. -> helm docs: https://helm.sh/docs/chart_template_guide/subcharts_and_globals/ |
Isn't the solution related to using the special crds folder ? |
No - if you check the PR, it is moved from the You can also find the chart.yaml of the subchart here: https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/charts/crds/Chart.yaml |
But when you install the |
Hi, Maybe it can help others. On our side we use ArgoCD and the CRD size issue went away thanks to SSA with the use of a specific annotation applied on CRD objects Also, as ArgoCD uses The key was to use SSA and it is quite straightforward to leverage it when using gitops operators, but may be more cumbersome to handle without these tools. |
I believe we can create a separate helm chart for the CRDs. |
I really think the most sustainable thing going forward is to handle CRD creates/updates via an initContainer. It's more initial work but we can do whatever we want with total freedom and it makes this issue go away. |
Handling CRDs directly with the controller or in the Pod has one big drawback: You'd need elevated privileges to manage CRDs, it makes RBAC painful. |
Yes, but you can use specific resources names because they're your CRDs. |
This is how prometheus handles the CRDs through helm charts:
@eddycharly - I amn't sure why grafana manifests exist in the helm secret whereas CRDs don't. This is the dependencies of the By default, the chart installs the CRDs. |
This is how I checked if CRDs templates exist in the helm secret:
Then search for Let me know if it isn't the correct approach. |
CRDs in a subchart is how Kyverno used to ship the CRDs and it caused some issues for the community since you'd have to install the CRD chart before the Kyverno chart, so Kyverno Helm install was at minimum a 2 step process rather than 1 step. Some ways to reduce size would move many/all of the helpers to a |
Problem Statement
Helm chart is growing beyond the size helm can manage.
We need to find a solution to the release size under control.
Xref #8130 (comment)
Solution Description
Let's throw ideas on how we can do that.
Alternatives
No response
Additional Context
No response
Slack discussion
https://kubernetes.slack.com/archives/C032MM2CH7X/p1693306174401429
Research
The text was updated successfully, but these errors were encountered: