Skip to content

Commit 4490afd

Browse files
fix: skip hosting selection prompt when --domain flag is explicitly set
When users pass --domain flag (e.g., --domain https://eu.infisical.com), the CLI should use that domain directly without prompting for hosting selection. Previously, the hosting selection prompt would still appear even when --domain was explicitly provided with EU/US cloud URLs. This fix checks if the --domain flag was explicitly changed by the user and if so, uses that domain directly without prompting. Co-Authored-By: Vlad Matsiiako <[email protected]>
1 parent 8ef3a3c commit 4490afd

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

packages/cmd/login.go

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,8 @@ var loginCmd = &cobra.Command{
147147
}
148148
}
149149

150-
usePresetDomain, err := usePresetDomain(presetDomain)
150+
domainFlagExplicitlySet := cmd.Flags().Changed("domain")
151+
usePresetDomain, err := usePresetDomain(presetDomain, domainFlagExplicitlySet)
151152

152153
if err != nil {
153154
util.HandleError(err)
@@ -434,15 +435,19 @@ func DomainOverridePrompt() (bool, error) {
434435
return selectedOption == OVERRIDE, err
435436
}
436437

437-
func usePresetDomain(presetDomain string) (bool, error) {
438+
func usePresetDomain(presetDomain string, domainFlagExplicitlySet bool) (bool, error) {
438439
infisicalConfig, err := util.GetConfigFile()
439440
if err != nil {
440441
return false, fmt.Errorf("askForDomain: unable to get config file because [err=%s]", err)
441442
}
442443

443444
preconfiguredUrl := strings.TrimSuffix(presetDomain, "/api")
444445

445-
if preconfiguredUrl != "" && preconfiguredUrl != util.INFISICAL_DEFAULT_US_URL && preconfiguredUrl != util.INFISICAL_DEFAULT_EU_URL {
446+
// If the domain flag was explicitly set by the user, use it directly (even for US/EU cloud URLs)
447+
// Otherwise, only use the preset domain if it's not a default cloud URL
448+
shouldUsePresetDomain := preconfiguredUrl != "" && (domainFlagExplicitlySet || (preconfiguredUrl != util.INFISICAL_DEFAULT_US_URL && preconfiguredUrl != util.INFISICAL_DEFAULT_EU_URL))
449+
450+
if shouldUsePresetDomain {
446451
parsedDomain := strings.TrimSuffix(strings.Trim(preconfiguredUrl, "/"), "/api")
447452

448453
_, err := url.ParseRequestURI(parsedDomain)
@@ -453,12 +458,15 @@ func usePresetDomain(presetDomain string) (bool, error) {
453458
config.INFISICAL_URL = fmt.Sprintf("%s/api", parsedDomain)
454459
config.INFISICAL_LOGIN_URL = fmt.Sprintf("%s/login", parsedDomain)
455460

456-
if !slices.Contains(infisicalConfig.Domains, parsedDomain) {
457-
infisicalConfig.Domains = append(infisicalConfig.Domains, parsedDomain)
458-
err = util.WriteConfigFile(&infisicalConfig)
461+
// Only save non-cloud domains to the config file
462+
if parsedDomain != util.INFISICAL_DEFAULT_US_URL && parsedDomain != util.INFISICAL_DEFAULT_EU_URL {
463+
if !slices.Contains(infisicalConfig.Domains, parsedDomain) {
464+
infisicalConfig.Domains = append(infisicalConfig.Domains, parsedDomain)
465+
err = util.WriteConfigFile(&infisicalConfig)
459466

460-
if err != nil {
461-
return false, fmt.Errorf("askForDomain: unable to write domains to config file because [err=%s]", err)
467+
if err != nil {
468+
return false, fmt.Errorf("askForDomain: unable to write domains to config file because [err=%s]", err)
469+
}
462470
}
463471
}
464472

0 commit comments

Comments
 (0)