Skip to content

Commit 9119518

Browse files
committed
more convert
1 parent 9c6f907 commit 9119518

File tree

3 files changed

+29
-13
lines changed

3 files changed

+29
-13
lines changed

cli/deployment/config.go

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,31 @@ func newConfig() codersdk.DeploymentConfig {
265265
}
266266
}
267267

268-
func Config(vip *viper.Viper) (codersdk.DeploymentConfig, error) {
269-
cfg := codersdk.DeploymentConfig{}
270-
return cfg, vip.Unmarshal(&cfg)
268+
func Config(vip *viper.Viper) codersdk.DeploymentConfig {
269+
dc := newConfig()
270+
dcv := reflect.ValueOf(dc).Elem()
271+
t := dcv.Type()
272+
for i := 0; i < t.NumField(); i++ {
273+
fv := dcv.Field(i)
274+
fve := fv.Elem()
275+
key := fve.FieldByName("Key").String()
276+
value := fve.FieldByName("Value").Interface()
277+
278+
switch value.(type) {
279+
case string:
280+
fve.FieldByName("Value").SetString(vip.GetString(key))
281+
case bool:
282+
fve.FieldByName("Value").SetBool(vip.GetBool(key))
283+
case int:
284+
fve.FieldByName("Value").SetInt(int64(vip.GetInt(key)))
285+
case time.Duration:
286+
fve.FieldByName("Value").SetInt(int64(vip.GetDuration(key)))
287+
case []string:
288+
fve.FieldByName("Value").Set(reflect.ValueOf(vip.GetStringSlice(key)))
289+
}
290+
}
291+
292+
return dc
271293
}
272294

273295
func NewViper() *viper.Viper {

cli/server.go

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,7 @@ func Server(vip *viper.Viper, newAPI func(context.Context, *coderd.Options) (*co
7676
Use: "server",
7777
Short: "Start a Coder server",
7878
RunE: func(cmd *cobra.Command, args []string) error {
79-
cfg, err := deployment.Config(vip)
80-
if err != nil {
81-
return xerrors.Errorf("failed to read config: %w", err)
82-
}
79+
cfg := deployment.Config(vip)
8380
printLogo(cmd)
8481
logger := slog.Make(sloghuman.Sink(cmd.ErrOrStderr()))
8582
if cfg.Verbose {
@@ -726,10 +723,7 @@ func Server(vip *viper.Viper, newAPI func(context.Context, *coderd.Options) (*co
726723
Use: "postgres-builtin-serve",
727724
Short: "Run the built-in PostgreSQL deployment.",
728725
RunE: func(cmd *cobra.Command, args []string) error {
729-
dcfg, err := deployment.Config(vip)
730-
if err != nil {
731-
return xerrors.Errorf("failed to read config: %w", err)
732-
}
726+
dcfg := deployment.Config(vip)
733727
cfg := createConfig(cmd)
734728
logger := slog.Make(sloghuman.Sink(cmd.ErrOrStderr()))
735729
if dcfg.Verbose {
@@ -753,7 +747,7 @@ func Server(vip *viper.Viper, newAPI func(context.Context, *coderd.Options) (*co
753747
},
754748
})
755749

756-
deployment.AttachFlags(root.Flags(), vip)
750+
deployment.AttachFlags(root.Flags(), vip, false)
757751

758752
return root
759753
}

enterprise/cli/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func server() *cobra.Command {
7171
return api.AGPL, api, nil
7272
})
7373

74-
deployment.AttachEnterpriseFlags(cmd.Flags(), vip)
74+
deployment.AttachFlags(cmd.Flags(), vip, true)
7575

7676
return cmd
7777
}

0 commit comments

Comments
 (0)