From 9a7213baa6f6858b92c47d5d28b8e39c180e64c0 Mon Sep 17 00:00:00 2001 From: neha_gupta Date: Fri, 30 Jun 2023 22:50:47 +0530 Subject: [PATCH] don't match config in init repo (#3726) In case of init repo - don't match values from config file. #### Does this PR need a docs update or release note? - [ ] :no_entry: No #### Type of change - [ ] :bug: Bugfix #### Issue(s) * # #### Test Plan - [ ] :muscle: Manual --- src/cli/config/account.go | 3 ++- src/cli/config/config.go | 2 +- src/cli/config/config_test.go | 2 +- src/cli/config/storage.go | 8 ++++---- 4 files changed, 8 insertions(+), 7 deletions(-) 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") }