mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
33 lines
951 B
TypeScript
33 lines
951 B
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
import { getInjectable } from "@ogre-tools/injectable";
|
|
import type { Cluster } from "../../../common/cluster/cluster";
|
|
import loggerInjectable from "../../../common/logger.injectable";
|
|
import { rollback } from "../helm-release-manager";
|
|
|
|
const rollbackHelmReleaseInjectable = getInjectable({
|
|
id: "rollback-helm-release",
|
|
|
|
instantiate: (di) => {
|
|
const logger = di.inject(loggerInjectable);
|
|
|
|
return async (
|
|
cluster: Cluster,
|
|
releaseName: string,
|
|
namespace: string,
|
|
revision: number,
|
|
) => {
|
|
const proxyKubeconfig = await cluster.getProxyKubeconfigPath();
|
|
|
|
logger.debug("Rollback release");
|
|
await rollback(releaseName, namespace, revision, proxyKubeconfig);
|
|
};
|
|
},
|
|
|
|
causesSideEffects: true,
|
|
});
|
|
|
|
export default rollbackHelmReleaseInjectable;
|