https://pulumi.com logo
#general
Title
# general
c

cool-egg-852

09/10/2019, 8:56 PM
Copy code
error: Running program '/Users/harrison/code/linio/infrastructure/applications/cert-manager' failed with an unhandled exception:
    TypeError: Cannot read property 'concat' of undefined
        at /Users/harrison/code/linio/infrastructure/node_modules/@pulumi/pulumi/runtime/resource.js:359:29
        at Generator.next (<anonymous>)
        at fulfilled (/Users/harrison/code/linio/infrastructure/node_modules/@pulumi/pulumi/runtime/resource.js:18:58)

    TypeError: Cannot read property 'concat' of undefined
        at /Users/harrison/code/linio/infrastructure/node_modules/@pulumi/pulumi/runtime/resource.js:359:29
        at Generator.next (<anonymous>)
        at fulfilled (/Users/harrison/code/linio/infrastructure/node_modules/@pulumi/pulumi/runtime/resource.js:18:58)

  kubernetes:helm.sh:Chart (cert-manager):
    [Can't preview] all chart values must be known ahead of time to generate an accurate preview.
Is this a known issue?
Figured it out. It’s breaking when using dependsOn with a helm chart that doesn’t know all the values (most likely because the helm chart is misconfigured)
Ok, so even in an properly configured one I am experiencing this.
@white-balloon-205 this occurs with the
{ dependsOn: c.resources.apply(o => [someOtherResource, ...Object.values(o)]) }
that you gave me in the other thread the other day.
Looks like the order may matter there. Have to do
someOtherResource
first. I’ll test that out in another cluster later today probably.
w

white-balloon-205

09/11/2019, 1:09 PM
Hmm - that is surprising, and I don’t think I have a full picture of the repro here. If you can share a small code snippet - would love to investigate
c

cool-egg-852

09/11/2019, 1:11 PM
Any helm chart caused this. Seems like you just can’t have the dependencies first in the array, not sure why. I’ll confirm this is the case though in a little bit.
I can test in another branch, I’m just in the middle of an upgrade so I can’t test it this second.
Copy code
const chart = new k8s.helm.v2.Chart('someChart');
const someOtherResource new k8s.core.v1.Service('for-example');
new k8s.core.v1.Service('use-this-one-for-depends', {}. {},{ dependsOn: chart.resources.apply(o => [ ...Object.values(o), someOtherResource]) });
Like that should be enough to cause it, obviously it’s not really testable I just wrote up a quick example.
Ok, so that must not be it
Any ideas?
So what I gather is that it’s because the helm chart resources aren’t known at the time, and therefore it fails.