From 4ec63b729cc8b28c6692535a97980ce91d04e6bc Mon Sep 17 00:00:00 2001 From: Jon Edvald Date: Mon, 24 Sep 2018 17:49:13 +0200 Subject: [PATCH] fix(k8s): attempt to fix issues with helm release upgrades --- garden-service/src/plugins/kubernetes/helm.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/garden-service/src/plugins/kubernetes/helm.ts b/garden-service/src/plugins/kubernetes/helm.ts index 6b4b03cbb7..3a54e0355d 100644 --- a/garden-service/src/plugins/kubernetes/helm.ts +++ b/garden-service/src/plugins/kubernetes/helm.ts @@ -136,7 +136,7 @@ export const helmHandlers: Partial> = { getServiceStatus, async deployService( - { ctx, module, service, logEntry }: DeployServiceParams, + { ctx, module, service, logEntry, force }: DeployServiceParams, ): Promise { const provider = ctx.provider const chartPath = await getChartPath(module) @@ -147,20 +147,29 @@ export const helmHandlers: Partial> = { const releaseStatus = await getReleaseStatus(ctx.provider, releaseName, logEntry) if (releaseStatus.state === "missing") { - await helm(provider, logEntry, + const installArgs = [ "install", chartPath, "--name", releaseName, "--namespace", namespace, "--values", valuesPath, "--wait", - ) + ] + if (force) { + installArgs.push("--replace") + } + await helm(provider, logEntry, ...installArgs) } else { - await helm(provider, logEntry, + const upgradeArgs = [ "upgrade", releaseName, chartPath, + "--install", "--namespace", namespace, "--values", valuesPath, "--wait", - ) + ] + if (force) { + upgradeArgs.push("--force") + } + await helm(provider, logEntry, ...upgradeArgs) } const objects = await getChartObjects(ctx, service, logEntry)