From b72c76ea41fd36445685441a5b3d301d61e9bbdf Mon Sep 17 00:00:00 2001 From: klizhentas Date: Thu, 4 Feb 2016 13:45:59 -0800 Subject: [PATCH] use environment variables --- assets/build/orbit.manifest.json | 3 ++- tool/tctl/command/cmd.go | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/assets/build/orbit.manifest.json b/assets/build/orbit.manifest.json index a18320572d4..9995cfc006b 100644 --- a/assets/build/orbit.manifest.json +++ b/assets/build/orbit.manifest.json @@ -4,7 +4,8 @@ {"name": "os", "value": "linux"} ], "commands": [ - {"name": "start", "args": ["rootfs/usr/bin/teleport", "--env"]} + {"name": "start", "args": ["rootfs/usr/bin/teleport", "--env"]}, + {"name": "tctl", "args": ["rootfs/usr/bin/tctl", "--env"]} ], "config": { "params": [ diff --git a/tool/tctl/command/cmd.go b/tool/tctl/command/cmd.go index 64b72a668f3..a74f0b92f52 100644 --- a/tool/tctl/command/cmd.go +++ b/tool/tctl/command/cmd.go @@ -59,6 +59,7 @@ func (cmd *Command) SetOut(out io.Writer) { func (cmd *Command) Run(args []string) error { app := kingpin.New("tctl", "CLI for key management of teleport SSH cluster") configPath := app.Flag("config", "Path to the Teleport configuration file").Default(DefaultConfigPath).String() + useEnv := app.Flag("env", "read configuration parameters from environment").Default("false").Bool() // SSH Key pair keyPair := app.Command("keypair", "Helper operations with SSH keypairs") @@ -182,8 +183,14 @@ func (cmd *Command) Run(args []string) error { if !strings.HasPrefix(selectedCommand, agent.FullCommand()) { var cfg service.Config - if err := service.ParseYAMLFile(*configPath, &cfg); err != nil { - return trace.Wrap(err) + if *useEnv { + if err := service.ParseEnv(&cfg); err != nil { + return trace.Wrap(err) + } + } else { + if err := service.ParseYAMLFile(*configPath, &cfg); err != nil { + return trace.Wrap(err) + } } service.SetDefaults(&cfg) if cfg.Auth.Enabled && len(cfg.AuthServers) == 0 {