@@ -239,6 +239,7 @@ func newConfig() *codersdk.DeploymentConfig {
239
239
Name : "Telemetry Enable" ,
240
240
Usage : "Whether telemetry is enabled or not. Coder collects anonymized usage data to help improve our product." ,
241
241
Flag : "telemetry" ,
242
+ Env : "CODER_TELEMETRY" , // Override default environment.
242
243
Default : flag .Lookup ("test.v" ) == nil ,
243
244
},
244
245
Trace : & codersdk.DeploymentConfigField [bool ]{
@@ -396,22 +397,26 @@ func setConfig(prefix string, vip *viper.Viper, target interface{}) {
396
397
// otherwise Viper will get confused if the parent struct is
397
398
// assigned a value.
398
399
if strings .HasPrefix (typ .Name (), "DeploymentConfigField[" ) {
400
+ env := val .FieldByName ("Env" ).String ()
401
+ if env == "" {
402
+ env = formatEnv (prefix )
403
+ }
399
404
value := val .FieldByName ("Value" ).Interface ()
400
405
switch value .(type ) {
401
406
case string :
402
- vip .MustBindEnv (prefix , formatEnv ( prefix ) )
407
+ vip .MustBindEnv (prefix , env )
403
408
val .FieldByName ("Value" ).SetString (vip .GetString (prefix ))
404
409
case bool :
405
- vip .MustBindEnv (prefix , formatEnv ( prefix ) )
410
+ vip .MustBindEnv (prefix , env )
406
411
val .FieldByName ("Value" ).SetBool (vip .GetBool (prefix ))
407
412
case int :
408
- vip .MustBindEnv (prefix , formatEnv ( prefix ) )
413
+ vip .MustBindEnv (prefix , env )
409
414
val .FieldByName ("Value" ).SetInt (int64 (vip .GetInt (prefix )))
410
415
case time.Duration :
411
- vip .MustBindEnv (prefix , formatEnv ( prefix ) )
416
+ vip .MustBindEnv (prefix , env )
412
417
val .FieldByName ("Value" ).SetInt (int64 (vip .GetDuration (prefix )))
413
418
case []string :
414
- vip .MustBindEnv (prefix , formatEnv ( prefix ) )
419
+ vip .MustBindEnv (prefix , env )
415
420
// As of October 21st, 2022 we supported delimiting a string
416
421
// with a comma, but Viper only supports with a space. This
417
422
// is a small hack around it!
@@ -569,15 +574,20 @@ func setFlags(prefix string, flagset *pflag.FlagSet, vip *viper.Viper, target in
569
574
if flg == "" {
570
575
return
571
576
}
577
+
578
+ env := val .FieldByName ("Env" ).String ()
579
+ if env == "" {
580
+ env = formatEnv (prefix )
581
+ }
572
582
usage := val .FieldByName ("Usage" ).String ()
573
- usage = fmt .Sprintf ("%s\n %s" , usage , cliui .Styles .Placeholder .Render ("Consumes $" + formatEnv ( prefix ) ))
583
+ usage = fmt .Sprintf ("%s\n %s" , usage , cliui .Styles .Placeholder .Render ("Consumes $" + env ))
574
584
shorthand := val .FieldByName ("Shorthand" ).String ()
575
585
hidden := val .FieldByName ("Hidden" ).Bool ()
576
586
value := val .FieldByName ("Default" ).Interface ()
577
587
578
588
// Allow currently set environment variables
579
589
// to override default values in help output.
580
- vip .MustBindEnv (prefix , formatEnv ( prefix ) )
590
+ vip .MustBindEnv (prefix , env )
581
591
582
592
switch value .(type ) {
583
593
case string :
0 commit comments