diff --git a/package.json b/package.json index 2667dea25b..4556d7b953 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,8 @@ "config": { "bundledKubectlVersion": "1.21.2", "bundledHelmVersion": "3.6.3", - "sentryDsn": "" + "sentryDsn": "", + "extensionUpdateUrl": "" }, "engines": { "node": ">=14 <15" diff --git a/src/common/vars.ts b/src/common/vars.ts index de0d1abf98..6b102bc86c 100644 --- a/src/common/vars.ts +++ b/src/common/vars.ts @@ -61,3 +61,4 @@ export const appSemVer = new SemVer(packageInfo.version); export const docsUrl = "https://docs.k8slens.dev/main/" as string; export const sentryDsn = packageInfo.config?.sentryDsn ?? ""; +export const extensionUpdateUrl = packageInfo.config?.extensionUpdateUrl ?? ""; diff --git a/src/extensions/bundled-latest-version-checker.ts b/src/extensions/bundled-latest-version-checker.ts index dd51e6a12c..2f694be39b 100644 --- a/src/extensions/bundled-latest-version-checker.ts +++ b/src/extensions/bundled-latest-version-checker.ts @@ -5,6 +5,7 @@ import { SemVer } from "semver"; import logger from "../common/logger"; +import { extensionUpdateUrl } from "../common/vars"; import { DownloadFileOptions, downloadJson } from "../renderer/utils"; import type { LensExtensionManifest } from "./lens-extension"; import type { LensExtensionLatestVersionChecker } from "./lens-extension-latest-version-checker"; @@ -25,8 +26,7 @@ export class BundledVersionChecker implements LensExtensionLatestVersionChecker return null; } - const updateUrl = process.env.BUNDLED_EXTENSIONS_URL; - const json = await this.getJson(updateUrl); + const json = await this.getJson(extensionUpdateUrl); if (!json || json.error || !json[manifest.name]) { logger.info(`[BUNDLED-EXTENSIONS-UPDATER]: No version found for ${manifest.name}.`); @@ -36,7 +36,7 @@ export class BundledVersionChecker implements LensExtensionLatestVersionChecker const version = json[manifest.name]; return { - input: `${updateUrl}/${manifest.name}-${version}.tar`, + input: `${extensionUpdateUrl}/${manifest.name}-${version}.tar`, version: new SemVer(version).version } } diff --git a/src/extensions/lens-extension-latest-version-checker.ts b/src/extensions/lens-extension-latest-version-checker.ts index 4cb7b66e21..8b7a4e04fe 100644 --- a/src/extensions/lens-extension-latest-version-checker.ts +++ b/src/extensions/lens-extension-latest-version-checker.ts @@ -7,5 +7,5 @@ import type { LensExtensionManifest } from "./lens-extension"; import type { LensExtensionAvailableUpdate } from "./lens-extension-update-checker"; export interface LensExtensionLatestVersionChecker { - getLatestVersion(manifest: LensExtensionManifest): Promise + getLatestVersion(manifest: LensExtensionManifest, isBundled?: boolean): Promise } diff --git a/src/extensions/lens-extension-update-checker.ts b/src/extensions/lens-extension-update-checker.ts index 408cb646d1..20b53f52f3 100644 --- a/src/extensions/lens-extension-update-checker.ts +++ b/src/extensions/lens-extension-update-checker.ts @@ -26,7 +26,7 @@ export class LensExtensionUpdateChecker { this.updateSources = updateSources; } - public async run(manifest: LensExtensionManifest): Promise { + public async run(manifest: LensExtensionManifest, isBundled?: boolean): Promise { const { name, version } = manifest; logger.debug(`Check update for extension ${name}`); @@ -34,7 +34,7 @@ export class LensExtensionUpdateChecker { const versions: LensExtensionAvailableUpdate[] = []; for(const checker of Object.values(this.updateSources)) { - const latestVersionFromSource = await checker.getLatestVersion(manifest); + const latestVersionFromSource = await checker.getLatestVersion(manifest, isBundled); if (latestVersionFromSource && this.isUpdate(version, latestVersionFromSource.version)) { versions.push(latestVersionFromSource);