From 39beca06398e61cb1547466edbbe9e9c26cab2e8 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Wed, 12 Jan 2022 07:06:54 -0500 Subject: [PATCH] Fix Kubectl.downloadKubectl() (#4674) Signed-off-by: Sebastian Malton --- src/main/kubectl.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/kubectl.ts b/src/main/kubectl.ts index 3c3a610807..88daa10b80 100644 --- a/src/main/kubectl.ts +++ b/src/main/kubectl.ts @@ -35,6 +35,7 @@ import { AppPaths } from "../common/app-paths"; import got from "got/dist/source"; import { promisify } from "util"; import stream from "stream"; +import { noop } from "../renderer/utils"; const bundledVersion = getBundledKubectlVersion(); const kubectlMap: Map = new Map([ @@ -315,8 +316,14 @@ export class Kubectl { const fileWriteStream = fs.createWriteStream(this.path, { mode: 0o755 }); const pipeline = promisify(stream.pipeline); - await pipeline(downloadStream, fileWriteStream); - logger.debug("kubectl binary download finished"); + try { + await pipeline(downloadStream, fileWriteStream); + await fs.promises.chmod(this.path, 0o755); + logger.debug("kubectl binary download finished"); + } catch (error) { + await fs.promises.unlink(this.path).catch(noop); + throw error; + } } protected async writeInitScripts() {