From b8df39ed0c1437fff38bdbb5e86a426861f90f3c Mon Sep 17 00:00:00 2001 From: Albert Date: Fri, 10 Jul 2026 12:06:01 +0000 Subject: [PATCH] fix: clear profile endpoint overrides --- cli/src/lib/profile-configure-core.ts | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/cli/src/lib/profile-configure-core.ts b/cli/src/lib/profile-configure-core.ts index 8ca9765..f4c1437 100644 --- a/cli/src/lib/profile-configure-core.ts +++ b/cli/src/lib/profile-configure-core.ts @@ -1,8 +1,13 @@ import { unlinkSync, rmSync, existsSync } from "node:fs"; -import { configFile, configGet, configSet, credentialsFile } from "@/lib/config.ts"; +import { configFile, configGet, configSet, credentialsFile, kvUnset } from "@/lib/config.ts"; import { CliError } from "@/lib/errors.ts"; import { deriveProfileName, listProfiles } from "@/features/profile/model.ts"; -import { ensureProfileExists, profilesDir, resolveWorkingProfile } from "@/lib/profile-store.ts"; +import { + ensureProfileExists, + profileConfigFile, + profilesDir, + resolveWorkingProfile, +} from "@/lib/profile-store.ts"; import { getCliContext } from "@/context.ts"; import { secretDelete, secretSet } from "@/lib/secrets.ts"; import { assertAllowedApiBase } from "@/lib/url-policy.ts"; @@ -40,6 +45,10 @@ function markCurrentProfileUpdated(profileName: string): void { configSet("updated_at", timestamp, profileName); } +function clearProfileEndpoint(key: "api_base" | "management_api_base", profileName: string): void { + kvUnset(profileConfigFile(profileName), key); +} + function resolveConfigureProfile(options: ConfigureOptions, org: string): string { const explicitProfile = options.profile; const env = options.env ?? ""; @@ -82,8 +91,8 @@ function configureClearManagementCredentials(profileName: string): void { export function configureClearAll(profileName: string): void { configureClearLakehouseCredentials(profileName); configureClearManagementCredentials(profileName); - configSet("api_base", "", profileName); - configSet("management_api_base", "", profileName); + clearProfileEndpoint("api_base", profileName); + clearProfileEndpoint("management_api_base", profileName); } export async function configureRunSet( @@ -188,13 +197,13 @@ export async function configureRunSet( assertAllowedApiBase(dataPlaneUrl, { allowInsecureHttp }); configSet("api_base", dataPlaneUrl, profileName); } else if (hasAnyCredential) { - configSet("api_base", "", profileName); + clearProfileEndpoint("api_base", profileName); } if (controlPlaneUrl) { assertAllowedApiBase(controlPlaneUrl, { allowInsecureHttp }); configSet("management_api_base", controlPlaneUrl, profileName); } else if (hasAnyCredential) { - configSet("management_api_base", "", profileName); + clearProfileEndpoint("management_api_base", profileName); } if (hasApiKey) {