@@ -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