pulumi-kubernetes
pulumi-kubernetes copied to clipboard
Helm V3 unable to use a remote chart absolute URL with dashed chart name
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',
},
});
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
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',
},
});