diff --git a/src/main/helm/helm-release-manager.ts b/src/main/helm/helm-release-manager.ts index 879bfed8ec..9c1d78bcfc 100644 --- a/src/main/helm/helm-release-manager.ts +++ b/src/main/helm/helm-release-manager.ts @@ -179,12 +179,13 @@ export async function getHistory(name: string, namespace: string, kubeconfigPath } export async function rollback(name: string, namespace: string, revision: number, kubeconfigPath: string) { - return JSON.parse(await execHelm([ + await execHelm([ "rollback", name, + `${revision}`, "--namespace", namespace, "--kubeconfig", kubeconfigPath, - ])); + ]); } async function getResources(name: string, namespace: string, kubeconfigPath: string, kubectlPath: string) { diff --git a/src/main/helm/helm-service.ts b/src/main/helm/helm-service.ts index fbb22eb6fc..d3a17d3f63 100644 --- a/src/main/helm/helm-service.ts +++ b/src/main/helm/helm-service.ts @@ -102,9 +102,7 @@ class HelmService { const proxyKubeconfig = await cluster.getProxyKubeconfigPath(); logger.debug("Rollback release"); - const output = rollback(releaseName, namespace, revision, proxyKubeconfig); - - return { message: output }; + await rollback(releaseName, namespace, revision, proxyKubeconfig); } } diff --git a/src/main/routes/helm-route.ts b/src/main/routes/helm-route.ts index 0f0905a675..958f729228 100644 --- a/src/main/routes/helm-route.ts +++ b/src/main/routes/helm-route.ts @@ -71,9 +71,9 @@ export class HelmApiRoute { const { cluster, params, payload, response } = request; try { - const result = await helmService.rollback(cluster, params.release, params.namespace, payload.revision); + await helmService.rollback(cluster, params.release, params.namespace, payload.revision); - respondJson(response, result); + response.end(); } catch (error) { logger.debug(error); respondText(response, error?.toString() || "Error rolling back chart", 422); diff --git a/src/renderer/components/+apps-releases/update-release/update-release.injectable.ts b/src/renderer/components/+apps-releases/update-release/update-release.injectable.ts index 2e5a681f51..06b1949da2 100644 --- a/src/renderer/components/+apps-releases/update-release/update-release.injectable.ts +++ b/src/renderer/components/+apps-releases/update-release/update-release.injectable.ts @@ -3,10 +3,29 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; -import { updateRelease } from "../../../../common/k8s-api/endpoints/helm-releases.api"; +import { + IReleaseUpdatePayload, + updateRelease, +} from "../../../../common/k8s-api/endpoints/helm-releases.api"; +import releasesInjectable from "../releases.injectable"; const updateReleaseInjectable = getInjectable({ - instantiate: () => updateRelease, + instantiate: (di) => { + const releases = di.inject(releasesInjectable); + + return async ( + name: string, + namespace: string, + payload: IReleaseUpdatePayload, + ) => { + const result = await updateRelease(name, namespace, payload); + + releases.invalidate(); + + return result; + }; + }, + lifecycle: lifecycleEnum.singleton, }); diff --git a/src/renderer/components/dock/upgrade-chart/view.tsx b/src/renderer/components/dock/upgrade-chart/view.tsx index bff0491610..9e5b0496a4 100644 --- a/src/renderer/components/dock/upgrade-chart/view.tsx +++ b/src/renderer/components/dock/upgrade-chart/view.tsx @@ -136,8 +136,8 @@ export class NonInjectedUpgradeChart extends React.Component; + if (!release || !this.props.upgradeChartTabStore.isReady(tabId) || !version) { + return ; } const currentVersion = release.getVersion(); const controlsAndInfo = (