diff --git a/src/cli/config/account.go b/src/cli/config/account.go index 7dd380551..950724b15 100644 --- a/src/cli/config/account.go +++ b/src/cli/config/account.go @@ -40,6 +40,7 @@ func m365Overrides(in map[string]string) map[string]string { func configureAccount( vpr *viper.Viper, readConfigFromViper bool, + matchFromConfig bool, overrides map[string]string, ) (account.Account, error) { var ( @@ -49,7 +50,7 @@ func configureAccount( err error ) - if readConfigFromViper { + if matchFromConfig { m365Cfg, err = m365ConfigsFromViper(vpr) if err != nil { return acct, clues.Wrap(err, "reading m365 configs from corso config file") diff --git a/src/cli/config/config.go b/src/cli/config/config.go index 74f3d8583..0d4391dc9 100644 --- a/src/cli/config/config.go +++ b/src/cli/config/config.go @@ -284,7 +284,7 @@ func getStorageAndAccountWithViper( config.RepoID = vpr.GetString(RepoID) } - config.Account, err = configureAccount(vpr, readConfigFromViper, overrides) + config.Account, err = configureAccount(vpr, readConfigFromViper, mustMatchFromConfig, overrides) if err != nil { return config, clues.Wrap(err, "retrieving account configuration details") } diff --git a/src/cli/config/config_test.go b/src/cli/config/config_test.go index 94b1387d6..444f6108d 100644 --- a/src/cli/config/config_test.go +++ b/src/cli/config/config_test.go @@ -270,7 +270,7 @@ func (suite *ConfigIntegrationSuite) TestGetStorageAndAccount() { err = vpr.ReadInConfig() require.NoError(t, err, "reading repo config", clues.ToCore(err)) - config, err := getStorageAndAccountWithViper(vpr, true, false, nil) + config, err := getStorageAndAccountWithViper(vpr, true, true, nil) require.NoError(t, err, "getting storage and account from config", clues.ToCore(err)) readS3Cfg, err := config.Storage.S3Config() diff --git a/src/cli/config/storage.go b/src/cli/config/storage.go index 2d23e71cc..cfd37e0f6 100644 --- a/src/cli/config/storage.go +++ b/src/cli/config/storage.go @@ -69,10 +69,6 @@ func configureStorage( ) if readConfigFromViper { - if s3Cfg, err = s3ConfigsFromViper(vpr); err != nil { - return store, clues.Wrap(err, "reading s3 configs from corso config file") - } - if b, ok := overrides[storage.Bucket]; ok { overrides[storage.Bucket] = common.NormalizeBucket(b) } @@ -83,6 +79,10 @@ func configureStorage( } if matchFromConfig { + if s3Cfg, err = s3ConfigsFromViper(vpr); err != nil { + return store, clues.Wrap(err, "reading s3 configs from corso config file") + } + if err := mustMatchConfig(vpr, s3Overrides(overrides)); err != nil { return store, clues.Wrap(err, "verifying s3 configs in corso config file") }