Я объявил развертывание kubernetes как:
const ledgerDeployment = new k8s.extensions.v1beta1.Deployment("ledger", {
spec: {
template: {
metadata: {
labels: {name: "ledger"},
name: "ledger",
// namespace: namespace,
},
spec: {
containers: [
...
],
volumes: [
{
emptyDir: {},
name: "gunicorn-socket-dir"
}
]
}
}
}
});
Позже в моем index.ts
я хочу условно изменить volumes
развертывания. Я думаю, что это изворотливость pulumi, я не обернул голову вокруг, но вот моя текущая попытка:
if(myCondition) {
ledgerDeployment.spec.template.spec.volumes.apply(volumes =>
volumes.push(
{
name: "certificates",
secret: {
items: [
{key: "tls.key", path: "proxykey"},
{key: "tls.crt", path: "proxycert"}],
secretName: "star.builds.qwil.co"
}
})
)
)
Когда я делаю это, я получаю следующую ошибку: Property 'mode' is missing in type '{ key: string; path: string; }' but required in type 'KeyToPath'
Я подозреваю, что я неправильно использую apply
. Когда я пытаюсь напрямую изменить ledgerDeployment.spec.template.spec.volumes.push()
, я получаю сообщение об ошибке Property 'push' does not exist on type 'Output<Volume[]>'
.
Каков шаблон для изменения ресурсов в Пулюми? Как добавить новый том в мое развертывание?