-
Notifications
You must be signed in to change notification settings - Fork 115
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] cache helm YAML rendered result #935
Comments
Another thought: If the helm chart happens to generate things that pulumi considers to be secrets, pulumi may wish to ensure they are encrypted before writing anything to disk. Or perhaps just using a single key to encrypt the whole file. |
Maybe a stepping stone could be to cache the helm chart's .tgz locally. That would at least allow repeat runs to be sped up without Pulumi needing to solve the "save a secret" problem highlighted above. Some of my stacks end up downloading 10+ charts per run making pulumi very sluggish. |
I actually just ran a test. I implemented a little local cache for the chart's i'm using. My My test project uses 14 helm charts I cached the charts by downloading/untar'ing them to a directory and then using Pulumi Helm's |
This would be a well needed addition. Overtime we tend to use a lot of helm charts and our Pulumi programs are just getting slower and slower 😅 I'm just waiting for the day when one of the Helm charts won't longer be public available on the internet – then a copy of the helm chart under version control would be a great saviour. |
As mentioned in #1504, this may also help in case of network issues. |
Would be better at least if we could have the ability of downloading the charts in parallel. Is there any way to achieve this? I have to install more than 100 charts so this becomes really slow... |
There's a lot of good suggestions in the above discussion, here's a recap:
|
Problem description
Helm chart index lookup, fetch, template, and rendering consumes a notable amount of time. This is especially painful when a stack has many helm charts and unrelated changes are made to the stack. I have a slow internet connection which makes this even worse.
I'd also like to be able to distribute Pulumi projects without requiring the user to install the helm 3 binary on their systems. If the rendered YAML string can be cached and stored in git, this would enable that use case as well.
Affected product version(s)
All
Suggestions for a fix
The work performed in the parseTemplate method up to and including this line:
pulumi-kubernetes/pkg/gen/nodejs-templates/helm/v2/helm.ts
Line 243 in 127ed57
.pulumi-cache/helm-urn.yaml
file that is used whenever possible to conserve work.The text was updated successfully, but these errors were encountered: