Skip to content
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

Helm v3 Chart does not convert input properties to output properties #1923

Closed
Tracked by #1971
covik opened this issue Mar 9, 2022 · 2 comments
Closed
Tracked by #1971

Helm v3 Chart does not convert input properties to output properties #1923

covik opened this issue Mar 9, 2022 · 2 comments
Assignees
Labels
area/helm kind/bug Some behavior is incorrect or out of spec resolution/wont-fix This issue won't be fixed

Comments

@covik
Copy link

covik commented Mar 9, 2022

Hello!

  • Vote on this issue by adding a 👍 reaction
  • To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already)

Issue details

The documentation for helm.v3.Chart states all input properties are converted to output properties but that's not the case. At least in NodeJS version.

The helm.d.ts does not have any public members:

export declare class Chart extends yaml.CollectionComponentResource {
    /**
     * Create an instance of the specified Helm chart.
     * @param releaseName Name of the Chart (e.g., nginx-ingress).
     * @param config Configuration options for the Chart.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(releaseName: string, config: ChartOpts | LocalChartOpts, opts?: pulumi.ComponentResourceOptions);
    parseChart(config: ChartOpts | LocalChartOpts, releaseName: string): pulumi.Output<{
        [key: string]: pulumi.CustomResource;
    }>;
}

I thought maybe inputs are converted at runtime but are lacking in the .d.ts file but that's not the case either.

Steps to reproduce

import * as k8s from '@pulumi/kubernetes'

const traefik = new k8s.helm.v3.Chart('ingress-controller', {
    chart: 'traefik',
    version: '10.6.2',
    fetchOpts: {
      repo: 'https://helm.traefik.io/traefik'
    }
})

console.assert(traefik.chart === 'traefik') // Assertion failed

Expected: traefik.chart to be 'traefik'
Actual: traefik.chart is undefined

@covik covik added the kind/bug Some behavior is incorrect or out of spec label Mar 9, 2022
@viveklak
Copy link
Contributor

viveklak commented Mar 16, 2022

The wording comes from pulumi/pulumi's docs codegen template. It does make sense to add the parameters in the outputs though.

@EronWright
Copy link
Contributor

EronWright commented Jun 17, 2024

I wonder whether the value of chart should be the literal input value (which could be a chart path, a chart name, or a URL), or should be the resolved chart name. What is the use-case? Can we close this as won't fix?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/helm kind/bug Some behavior is incorrect or out of spec resolution/wont-fix This issue won't be fixed
Projects
None yet
Development

No branches or pull requests

4 participants