mirror of
https://github.com/caddyserver/caddy.git
synced 2024-11-22 15:53:45 +08:00
cmd: Add --envfile flag to start
command (#4141)
* add envfile in start cmd * fix commandfuncs * fix commandfuncs * fix cmdStart envfile from bool to string Co-authored-by: Francis Lavoie <lavofr@gmail.com>
This commit is contained in:
parent
ef7f15f3a4
commit
e6f6d3a476
|
@ -45,6 +45,7 @@ func cmdStart(fl Flags) (int, error) {
|
||||||
startCmdConfigAdapterFlag := fl.String("adapter")
|
startCmdConfigAdapterFlag := fl.String("adapter")
|
||||||
startCmdPidfileFlag := fl.String("pidfile")
|
startCmdPidfileFlag := fl.String("pidfile")
|
||||||
startCmdWatchFlag := fl.Bool("watch")
|
startCmdWatchFlag := fl.Bool("watch")
|
||||||
|
startCmdEnvfileFlag := fl.String("envfile")
|
||||||
|
|
||||||
// open a listener to which the child process will connect when
|
// open a listener to which the child process will connect when
|
||||||
// it is ready to confirm that it has successfully started
|
// it is ready to confirm that it has successfully started
|
||||||
|
@ -68,6 +69,9 @@ func cmdStart(fl Flags) (int, error) {
|
||||||
if startCmdConfigFlag != "" {
|
if startCmdConfigFlag != "" {
|
||||||
cmd.Args = append(cmd.Args, "--config", startCmdConfigFlag)
|
cmd.Args = append(cmd.Args, "--config", startCmdConfigFlag)
|
||||||
}
|
}
|
||||||
|
if startCmdEnvfileFlag != "" {
|
||||||
|
cmd.Args = append(cmd.Args, "--envfile", startCmdEnvfileFlag)
|
||||||
|
}
|
||||||
if startCmdConfigAdapterFlag != "" {
|
if startCmdConfigAdapterFlag != "" {
|
||||||
cmd.Args = append(cmd.Args, "--adapter", startCmdConfigAdapterFlag)
|
cmd.Args = append(cmd.Args, "--adapter", startCmdConfigAdapterFlag)
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,18 +74,22 @@ func init() {
|
||||||
RegisterCommand(Command{
|
RegisterCommand(Command{
|
||||||
Name: "start",
|
Name: "start",
|
||||||
Func: cmdStart,
|
Func: cmdStart,
|
||||||
Usage: "[--config <path> [--adapter <name>]] [--watch] [--pidfile <file>]",
|
Usage: "[--config <path> [--adapter <name>]] [--envfile <path>] [--watch] [--pidfile <file>]",
|
||||||
Short: "Starts the Caddy process in the background and then returns",
|
Short: "Starts the Caddy process in the background and then returns",
|
||||||
Long: `
|
Long: `
|
||||||
Starts the Caddy process, optionally bootstrapped with an initial config file.
|
Starts the Caddy process, optionally bootstrapped with an initial config file.
|
||||||
This command unblocks after the server starts running or fails to run.
|
This command unblocks after the server starts running or fails to run.
|
||||||
|
|
||||||
|
If --envfile is specified, an environment file with environment variables in
|
||||||
|
the KEY=VALUE format will be loaded into the Caddy process.
|
||||||
|
|
||||||
On Windows, the spawned child process will remain attached to the terminal, so
|
On Windows, the spawned child process will remain attached to the terminal, so
|
||||||
closing the window will forcefully stop Caddy; to avoid forgetting this, try
|
closing the window will forcefully stop Caddy; to avoid forgetting this, try
|
||||||
using 'caddy run' instead to keep it in the foreground.`,
|
using 'caddy run' instead to keep it in the foreground.`,
|
||||||
Flags: func() *flag.FlagSet {
|
Flags: func() *flag.FlagSet {
|
||||||
fs := flag.NewFlagSet("start", flag.ExitOnError)
|
fs := flag.NewFlagSet("start", flag.ExitOnError)
|
||||||
fs.String("config", "", "Configuration file")
|
fs.String("config", "", "Configuration file")
|
||||||
|
fs.String("envfile", "", "Environment file to load")
|
||||||
fs.String("adapter", "", "Name of config adapter to apply")
|
fs.String("adapter", "", "Name of config adapter to apply")
|
||||||
fs.String("pidfile", "", "Path of file to which to write process ID")
|
fs.String("pidfile", "", "Path of file to which to write process ID")
|
||||||
fs.Bool("watch", false, "Reload changed config file automatically")
|
fs.Bool("watch", false, "Reload changed config file automatically")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user