fix(mirror): read config correctly (#8330)

# Which Problems Are Solved

The mirror command read the configurations in the wrong order

# How the Problems Are Solved

The Pre execution run of `mirror` reads the default config first and
then applies the custom configs
This commit is contained in:
Silvan 2024-07-18 16:00:58 +02:00 committed by GitHub
parent b3a60863f5
commit 0ea3c5691f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 2 deletions

View File

@ -18,7 +18,7 @@ var (
shouldReplace bool shouldReplace bool
) )
func New() *cobra.Command { func New(configFiles *[]string) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "mirror", Use: "mirror",
Short: "mirrors all data of ZITADEL from one database to another", Short: "mirrors all data of ZITADEL from one database to another",
@ -37,6 +37,12 @@ Order of execution:
PersistentPreRun: func(cmd *cobra.Command, args []string) { PersistentPreRun: func(cmd *cobra.Command, args []string) {
err := viper.MergeConfig(bytes.NewBuffer(defaultConfig)) err := viper.MergeConfig(bytes.NewBuffer(defaultConfig))
logging.OnError(err).Fatal("unable to read default config") logging.OnError(err).Fatal("unable to read default config")
for _, file := range *configFiles {
viper.SetConfigFile(file)
err := viper.MergeInConfig()
logging.WithFields("file", file).OnError(err).Warn("unable to read config file")
}
}, },
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
config := mustNewMigrationConfig(viper.GetViper()) config := mustNewMigrationConfig(viper.GetViper())

View File

@ -56,7 +56,7 @@ func New(out io.Writer, in io.Reader, args []string, server chan<- *start.Server
start.New(server), start.New(server),
start.NewStartFromInit(server), start.NewStartFromInit(server),
start.NewStartFromSetup(server), start.NewStartFromSetup(server),
mirror.New(), mirror.New(&configFiles),
key.New(), key.New(),
ready.New(), ready.New(),
) )