From ce379dea3e1cc69ade5a1da49da6a9c93bc23f14 Mon Sep 17 00:00:00 2001 From: Alberto Bertogli Date: Sun, 25 Sep 2016 20:52:50 +0100 Subject: [PATCH] chasquid-util: Add a print-config option This patch adds a print-config option that will parse a config and print it (in text protobuf format). It can be used to validate configurations, and see what the effective configuration is (that is, including the defaults). --- cmd/chasquid-util/chasquid-util.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cmd/chasquid-util/chasquid-util.go b/cmd/chasquid-util/chasquid-util.go index 3d737e6..50df5b1 100644 --- a/cmd/chasquid-util/chasquid-util.go +++ b/cmd/chasquid-util/chasquid-util.go @@ -14,6 +14,7 @@ import ( "blitiri.com.ar/go/chasquid/internal/userdb" "github.com/docopt/docopt-go" + "github.com/golang/protobuf/proto" "golang.org/x/crypto/ssh/terminal" ) @@ -25,6 +26,7 @@ Usage: chasquid-util authenticate [--password=] chasquid-util check-userdb chasquid-util aliases-resolve
+ chasquid-util print-config ` // Command-line arguments. @@ -39,6 +41,7 @@ func main() { "authenticate": Authenticate, "check-userdb": CheckUserDB, "aliases-resolve": AliasesResolve, + "print-config": PrintConfig, } for cmd, f := range commands { @@ -196,3 +199,14 @@ func AliasesResolve() { } } + +// chasquid-util print-config +func PrintConfig() { + configDir := args[""].(string) + conf, err := config.Load(configDir + "/chasquid.conf") + if err != nil { + Fatalf("Error reading config") + } + + fmt.Println(proto.MarshalTextString(conf)) +}