mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
33 lines
861 B
TypeScript
33 lines
861 B
TypeScript
import { app } from "electron"
|
|
import * as fs from "fs"
|
|
import { ensureDir, randomFileName} from "./file-helpers"
|
|
import logger from "./logger"
|
|
|
|
export class KubeconfigManager {
|
|
protected configDir = app.getPath("temp")
|
|
protected kubeconfig: string
|
|
protected tempFile: string
|
|
|
|
constructor(kubeconfig: string) {
|
|
this.kubeconfig = kubeconfig
|
|
this.tempFile = this.createTemporaryKubeconfig()
|
|
}
|
|
|
|
public getPath() {
|
|
return this.tempFile
|
|
}
|
|
|
|
protected createTemporaryKubeconfig(): string {
|
|
ensureDir(this.configDir)
|
|
const path = `${this.configDir}/${randomFileName("kubeconfig")}`
|
|
logger.debug('Creating temporary kubeconfig: ' + path)
|
|
fs.writeFileSync(path, this.kubeconfig)
|
|
return path
|
|
}
|
|
|
|
public unlink() {
|
|
logger.debug('Deleting temporary kubeconfig: ' + this.tempFile)
|
|
fs.unlinkSync(this.tempFile)
|
|
}
|
|
}
|