cold-coat-35200
10/11/2019, 12:48 PM--target
option, then the whole stack, it works finecalm-table-93204
10/11/2019, 2:50 PMcold-coat-35200
10/11/2019, 2:54 PMbusy-umbrella-36067
10/11/2019, 3:33 PMcold-coat-35200
10/11/2019, 3:45 PMgorgeous-egg-16927
10/11/2019, 3:46 PMdependsOn
. I think something like this should do the trick:
transformations: [
(obj: any, opts: pulumi.CustomResourceOptions) => {
if (obj.kind === "EtcdBackup" && obj.metadata.name == "foo") {
opts.dependsOn = [resource1, resource2],
}
},
],
cold-coat-35200
10/11/2019, 3:56 PMgorgeous-egg-16927
10/11/2019, 3:58 PMcold-coat-35200
10/13/2019, 9:29 AMlet backupOperator: any
const namespace = env
new k8s.helm.v2.Chart(
`${env}-etcd`,
{
repo: 'stable',
chart: 'etcd-operator',
version: '0.10.0',
namespace: namespace,
values: values,
transformations: [transformNamespace(namespace)]
},
{
providers: {
kubernetes: k8sProvider
},
transformations: [
args => {
if (args.props.kind === 'Deployment' && args.props.metadata.name.includes('etcd-backup-operator')) {
backupOperator = args.resource
} else if (args.props.kind === 'EtcdBackup') {
args.opts.dependsOn = new Promise<pulumi.Resource>(async resolve => {
const sleep = (ms: number) => new Promise(r => setTimeout(r, ms))
while (backupOperator === undefined) {
await sleep(100)
}
resolve(backupOperator)
})
}
return {
props: args.props,
opts: args.opts
}
}
]
}
)