From 293d0b8f5962fbd0cacf35d8a96d498b2bc31d58 Mon Sep 17 00:00:00 2001 From: Lauri Nevala Date: Mon, 22 Mar 2021 15:46:32 +0200 Subject: [PATCH] Fix helm services to use async method Signed-off-by: Lauri Nevala --- src/main/helm/helm-release-manager.ts | 2 +- src/main/helm/helm-service.ts | 23 +++++++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/main/helm/helm-release-manager.ts b/src/main/helm/helm-release-manager.ts index 220d665ae0..d1b48cf34c 100644 --- a/src/main/helm/helm-release-manager.ts +++ b/src/main/helm/helm-release-manager.ts @@ -112,7 +112,7 @@ export class HelmReleaseManager { protected async getResources(name: string, namespace: string, cluster: Cluster) { const helm = await helmCli.binaryPath(); const kubectl = await cluster.kubeCtl.getPath(); - const pathToKubeconfig = cluster.getProxyKubeconfigPath(); + const pathToKubeconfig = await cluster.getProxyKubeconfigPath(); const { stdout } = await promiseExec(`"${helm}" get manifest ${name} --namespace ${namespace} --kubeconfig ${pathToKubeconfig} | "${kubectl}" get -n ${namespace} --kubeconfig ${pathToKubeconfig} -f - -o=json`).catch(() => { return { stdout: JSON.stringify({items: []})}; }); diff --git a/src/main/helm/helm-service.ts b/src/main/helm/helm-service.ts index f7445cebd4..9682e58a84 100644 --- a/src/main/helm/helm-service.ts +++ b/src/main/helm/helm-service.ts @@ -8,7 +8,9 @@ import { HelmChartList, RepoHelmChartList } from "../../renderer/api/endpoints/h class HelmService { public async installChart(cluster: Cluster, data: { chart: string; values: {}; name: string; namespace: string; version: string }) { - return await releaseManager.installChart(data.chart, data.values, data.name, data.namespace, data.version, cluster.getProxyKubeconfigPath()); + const proxyKubeconfig = await cluster.getProxyKubeconfigPath(); + + return await releaseManager.installChart(data.chart, data.values, data.name, data.namespace, data.version, proxyKubeconfig); } public async listCharts() { @@ -53,8 +55,9 @@ class HelmService { public async listReleases(cluster: Cluster, namespace: string = null) { await repoManager.init(); + const proxyKubeconfig = await cluster.getProxyKubeconfigPath(); - return await releaseManager.listReleases(cluster.getProxyKubeconfigPath(), namespace); + return await releaseManager.listReleases(proxyKubeconfig, namespace); } public async getRelease(cluster: Cluster, releaseName: string, namespace: string) { @@ -64,21 +67,27 @@ class HelmService { } public async getReleaseValues(cluster: Cluster, releaseName: string, namespace: string) { + const proxyKubeconfig = await cluster.getProxyKubeconfigPath(); + logger.debug("Fetch release values"); - return await releaseManager.getValues(releaseName, namespace, cluster.getProxyKubeconfigPath()); + return await releaseManager.getValues(releaseName, namespace, proxyKubeconfig); } public async getReleaseHistory(cluster: Cluster, releaseName: string, namespace: string) { + const proxyKubeconfig = await cluster.getProxyKubeconfigPath(); + logger.debug("Fetch release history"); - return await releaseManager.getHistory(releaseName, namespace, cluster.getProxyKubeconfigPath()); + return await releaseManager.getHistory(releaseName, namespace, proxyKubeconfig); } public async deleteRelease(cluster: Cluster, releaseName: string, namespace: string) { + const proxyKubeconfig = await cluster.getProxyKubeconfigPath(); + logger.debug("Delete release"); - return await releaseManager.deleteRelease(releaseName, namespace, cluster.getProxyKubeconfigPath()); + return await releaseManager.deleteRelease(releaseName, namespace, proxyKubeconfig); } public async updateRelease(cluster: Cluster, releaseName: string, namespace: string, data: { chart: string; values: {}; version: string }) { @@ -88,8 +97,10 @@ class HelmService { } public async rollback(cluster: Cluster, releaseName: string, namespace: string, revision: number) { + const proxyKubeconfig = await cluster.getProxyKubeconfigPath(); + logger.debug("Rollback release"); - const output = await releaseManager.rollback(releaseName, namespace, revision, cluster.getProxyKubeconfigPath()); + const output = await releaseManager.rollback(releaseName, namespace, revision, proxyKubeconfig); return { message: output }; }