full-dress-10026
12/11/2021, 12:39 AMconst ingressNginx = new k8s.helm.v3.Chart("ingress-nginx", {
fetchOpts: {
repo: "<https://kubernetes.github.io/ingress-nginx>"
},
chart: "ingress-nginx",
namespace: ingressNginxNs.metadata.name,
values: {
},
}, {providers: {"kubernetes": cluster.provider}});
billowy-army-68599
export let ingressIP = ingressNginx
.getResourceProperty("v1/Service", "ingress-nginx", "status")
.apply(status => status.loadBalancer.ingress[0].ip);
Something like this, untestedfull-dress-10026
12/11/2021, 12:46 AMgetResourceProperty
. I'm not even sure what docs I should be looking at to determine that. I can see the NLB host name in the pulumi stack export JSON, so I know it's there 🙂"status": {
"loadBalancer": {
"ingress": [
{
"hostname": "..."
}
]
}
}
error: TypeError: Cannot read properties of undefined (reading 'status')
at /Users/kenny/work/computesoftware/kubecost-explore/pulumi/node_modules/@pulumi/yaml/yaml.ts:2582:33
at /Users/kenny/work/computesoftware/kubecost-explore/pulumi/node_modules/@pulumi/pulumi/output.js:250:35
at Generator.next (<anonymous>)
at /Users/kenny/work/computesoftware/kubecost-explore/pulumi/node_modules/@pulumi/pulumi/output.js:21:71
at new Promise (<anonymous>)
at __awaiter (/Users/kenny/work/computesoftware/kubecost-explore/pulumi/node_modules/@pulumi/pulumi/output.js:17:12)
at applyHelperAsync (/Users/kenny/work/computesoftware/kubecost-explore/pulumi/node_modules/@pulumi/pulumi/output.js:229:12)
at /Users/kenny/work/computesoftware/kubecost-explore/pulumi/node_modules/@pulumi/pulumi/output.js:183:65
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
outputs
in a map that contains
"id": "ingress-nginx/ingress-nginx-controller",
"type": "kubernetes:core/v1:Service",
billowy-army-68599
full-dress-10026
12/11/2021, 1:05 AMconst ingressNginxNs = new k8s.core.v1.Namespace("ingress-nginx-ns", {
metadata: {
name: "ingress-nginx"
}
}, {provider: cluster.provider})
const ingressNginx = new k8s.helm.v3.Chart("ingress-nginx", {
fetchOpts: {
repo: "<https://kubernetes.github.io/ingress-nginx>"
},
chart: "ingress-nginx",
namespace: ingressNginxNs.metadata.name,
values: {},
}, {providers: {"kubernetes": cluster.provider}});
const ingressHost = ingressNginx.getResourceProperty("v1/Service", "ingress-nginx", "status")
.apply(status => console.log(status))
wonderful-twilight-70958
12/11/2021, 1:37 AMfull-dress-10026
12/11/2021, 2:26 AM