For kubernetes-helm stuff - do you need to have th...
# kubernetes
For kubernetes-helm stuff - do you need to have the target repository cached locally first? Trying to run this:
Copy code
const keyvaultCSI = new k8s.helm.v3.Chart("keyVaultCSI",{
        chart: "csi-secrets-store-provider-azure",
        version: "0.0.17",
        fetchOpts: {
            repo: "<>"
        values: {
            logFormatJSON: true,            
        provider: cluster
And getting this as an error:
Copy code
pulumi:pulumi:Stack baseline-k8s-dev.k8s.infratesting create error: Unhandled exception: Error: invocation of kubernetes:helm:template returned an error: failed to generate YAML for specified Helm chart: failed to pull chart: no cached repo found. (try 'helm repo update'):
Basically following this instruction for installation:
once I do this:
Copy code
λ helm repo add csi-secrets-store-provider-azure <>
"csi-secrets-store-provider-azure" has been added to your repositories
λ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "csi-secrets-store-provider-azure" chart repository
...Successfully got an update from the "bitnami" chart repository
Update Complete. ⎈Happy Helming!⎈
Then it works fine:
Copy code
Previewing update (dev.k8s.infratesting):

 +  pulumi:pulumi:Stack baseline-k8s-dev.k8s.infratesting create
 +  kubernetes:<|> keyVaultCSI create
 +  pulumi:pulumi:Stack baseline-k8s-dev.k8s.infratesting create read pulumi:pulumi:StackReference dev.infra.infratesting-reference
 +  pulumi:pulumi:Stack baseline-k8s-dev.k8s.infratesting create read pulumi:pulumi:StackReference dev.infra.infratesting-reference
 +  pulumi:providers:kubernetes clusterProvider create
 +  kubernetes:apps/v1:DaemonSet default/keyVaultCSI-secrets-store-csi-driver create
 +  kubernetes:<|> <|> create
 +  kubernetes:<|> <|> create
 +  kubernetes:<|> secretprovidersyncing-role create
 +  kubernetes:<|> secretproviderclasses-role create
 +  kubernetes:<|> secretprovidersyncing-rolebinding create
 +  kubernetes:<|> secretproviderclasses-rolebinding create
 +  kubernetes:core/v1:ServiceAccount default/csi-secrets-store-provider-azure create
 +  kubernetes:core/v1:ServiceAccount default/secrets-store-csi-driver create
 +  kubernetes:<|> <|> create
 +  kubernetes:apps/v1:DaemonSet default/keyVaultCSI-csi-secrets-store-provider-azure create
 +  pulumi:pulumi:Stack baseline-k8s-dev.k8s.infratesting create

    + 14 to create
Is it really intended behavior that helm needs to be pre-registered and updated with all the repositories I want to use in pulumi before I begin?
no it's not. Having said that, i've never seen a helm chart be served from a github manifest. I see they've checked their tarballs and
into the repo, but i suspect helm template doesn't support that mechanism
worked fine with the
command above as you can see 😉
generally a chart will be served from a website, I think what's happening here is that the way we invoke helm charts (using
helm template
) isn't hitting the
for that site correctly
it does seem to work:
Copy code
helm template foo csi-secrets-store-provider-azure --repo <>
can you open an issue for this? It's probably just an edge case we've missed
wait hold on, you have an extra slash at the end of your
can you try remove that and try again?
Tried all permutations of slashes up to 2x / - as per the "remote chart" example here:
The example (to save a click):
Copy code
import * as k8s from "@pulumi/kubernetes";

const nginxIngress = new k8s.helm.v3.Chart("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
        repo: "<>",
Error-message wise it looks similar to this closed issue: