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 = (