@@ -441,16 +441,20 @@ func cmdEnviron(fl Flags) (int, error) {
441
441
}
442
442
443
443
func cmdAdaptConfig (fl Flags ) (int , error ) {
444
- inputFlag := fl .String ("config" )
444
+ configFlag := fl .String ("config" )
445
445
adapterFlag := fl .String ("adapter" )
446
446
prettyFlag := fl .Bool ("pretty" )
447
447
validateFlag := fl .Bool ("validate" )
448
448
449
449
var err error
450
- inputFlag , err = configFileWithRespectToDefault (caddy .Log (), inputFlag )
450
+ configFlag , err = configFileWithRespectToDefault (caddy .Log (), configFlag )
451
451
if err != nil {
452
452
return caddy .ExitCodeFailedStartup , err
453
453
}
454
+ if configFlag == "" {
455
+ return caddy .ExitCodeFailedStartup ,
456
+ fmt .Errorf ("input file required when there is no Caddyfile in current directory (use --config flag)" )
457
+ }
454
458
455
459
// load all additional envs as soon as possible
456
460
err = handleEnvFileFlag (fl )
@@ -469,13 +473,19 @@ func cmdAdaptConfig(fl Flags) (int, error) {
469
473
fmt .Errorf ("unrecognized config adapter: %s" , adapterFlag )
470
474
}
471
475
472
- input , err := os .ReadFile (inputFlag )
476
+ var input []byte
477
+ // read from stdin if the file name is "-"
478
+ if configFlag == "-" {
479
+ input , err = io .ReadAll (os .Stdin )
480
+ } else {
481
+ input , err = os .ReadFile (configFlag )
482
+ }
473
483
if err != nil {
474
484
return caddy .ExitCodeFailedStartup ,
475
485
fmt .Errorf ("reading input file: %v" , err )
476
486
}
477
487
478
- opts := map [string ]any {"filename" : inputFlag }
488
+ opts := map [string ]any {"filename" : configFlag }
479
489
480
490
adaptedConfig , warnings , err := cfgAdapter .Adapt (input , opts )
481
491
if err != nil {
0 commit comments