pulumi-kubernetes icon indicating copy to clipboard operation
pulumi-kubernetes copied to clipboard

Helm V3 unable to use a remote chart absolute URL with dashed chart name

Open ctison opened this issue 4 years ago • 1 comments

I need to deploy fission, which is provided as a tgz from Github releases. I saw that PR for Helm V2 but when I tried with Helm V3, the following error occurred:

Error: invocation of kubernetes:helm:template returned an error: failed to generate YAML for specified Helm chart: failed to load chart from temp directory: stat /var/folders/3y/2vy52_5n0zb92zyrh8p42zmr0000gn/T/helm420775922/fission: no such file or directory

The resource:

new k8s.helm.v3.Chart('fission', {
  chart: 'https://github.com/fission/fission/releases/download/1.12.0/fission-core-1.12.0.tgz',
  values: {
    routerServiceType: 'ClusterIP',
  },
});

ctison avatar May 25 '21 13:05 ctison

The issue here is that Pulumi is checking for a folder in the unpacked tar named fission rather than fission-core. Seems due to a too-restrictive regex: https://github.com/pulumi/pulumi-kubernetes/blob/78ab38748b9101d98890d86af44f5addb6c852dd/provider/pkg/provider/invoke_helm_template.go#L267-L290

EronWright avatar Apr 01 '24 20:04 EronWright

I've confirmed that the issue is fixed in the upcoming Chart v4. This works as expected:

import * as k8s from "@pulumi/kubernetes";

new k8s.helm.v4.Chart('fission', {
    chart: 'https://github.com/fission/fission/releases/download/1.12.0/fission-core-1.12.0.tgz',
    values: {
      routerServiceType: 'ClusterIP',
    },
  });

EronWright avatar May 14 '24 00:05 EronWright