<p>I would like to be able to deploy the AWS EFS CSI Driver Helm chart hosted at <a href="https://kubernetes-sigs.github.io/aws-efs-csi-driver/" rel="nofollow noreferrer">AWS EFS SIG Repo</a> using Pulumi. With Source from <a href="https://github.com/kubernetes-sigs/aws-efs-csi-driver" rel="nofollow noreferrer">AWS EFS CSI Driver Github Source</a>.  I would like to avoid having almost everything managed with Pulumi except this one part of my infrastructure.</p>
<p>Below is the TypeScript class I created to manage interacting with the k8s.helm.v3.Release class:</p>
<pre class="lang-js prettyprint-override"><code>import * as k8s from '@pulumi/kubernetes';
import * as eks from '@pulumi/eks';

export default class AwsEfsCsiDriverHelmRepo extends k8s.helm.v3.Release {
  constructor(cluster: eks.Cluster) {
    super(`aws-efs-csi-driver`, {
      chart: `aws-efs-csi-driver`,
      version: `1.3.6`,
      repositoryOpts: {
        repo: `https://kubernetes-sigs.github.io/aws-efs-csi-driver/`,
      },
      namespace: `kube-system`,
    }, { provider: cluster.provider });
  }
}
</code></pre>
<p>I've tried several variations on the above code, chopping of the <code>-driver</code> in the name, removing <code>aws-cfs-csi-driver</code> from the <code>repo</code> property, changing to <code>latest</code> for the version.</p>
<p>When I do a <code>pulumi up</code> I get: <code>failed to pull chart: chart &quot;aws-efs-csi-driver&quot; version &quot;1.3.6&quot; not found in https://kubernetes-sigs.github.io/aws-efs-csi-driver/ repository</code></p>
<pre class="lang-sh prettyprint-override"><code>$ helm version
version.BuildInfo{Version:&quot;v3.7.0&quot;, GitCommit:&quot;eeac83883cb4014fe60267ec6373570374ce770b&quot;, GitTreeState:&quot;clean&quot;, GoVersion:&quot;go1.16.8&quot;}
</code></pre>
<pre class="lang-sh prettyprint-override"><code>$ pulumi version
v3.24.1
</code></pre>

<p>You're using the wrong version in your chart invocation.</p>
<p>The version you're selecting is the application version, ie the release version of the underlying application. You need to set the Chart version, see <a href="https://helm.sh/docs/topics/charts/#charts-and-versioning" rel="nofollow noreferrer">here</a> which is defined <a href="https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/release-1.3/charts/aws-efs-csi-driver/Chart.yaml#L3" rel="nofollow noreferrer">here</a></p>
<p>the following works:</p>
<pre class="lang-js prettyprint-override"><code>const csiDrive = new kubernetes.helm.v3.Release(&quot;csi&quot;, {
  chart: `aws-efs-csi-driver`,
  version: `2.2.3`,
  repositoryOpts: {
    repo: `https://kubernetes-sigs.github.io/aws-efs-csi-driver/`,
  },
  namespace: `kube-system`,
});
</code></pre>
<p>If you want to use the existing code you have, try this:</p>
<pre class="lang-js prettyprint-override"><code>import * as k8s from '@pulumi/kubernetes';
import * as eks from '@pulumi/eks';

export default class AwsEfsCsiDriverHelmRepo extends k8s.helm.v3.Release {
  constructor(cluster: eks.Cluster) {
    super(`aws-efs-csi-driver`, {
      chart: `aws-efs-csi-driver`,
      version: `2.2.3`,
      repositoryOpts: {
        repo: `https://kubernetes-sigs.github.io/aws-efs-csi-driver/`,
      },
      namespace: `kube-system`,
    }, { provider: cluster.provider });
  }
}
</code></pre>
