From 030048992fe22cef2dc120bb828ff650cbffd7f3 Mon Sep 17 00:00:00 2001 From: Jan Halfar Date: Tue, 11 Jul 2017 15:47:25 +0200 Subject: [PATCH] docker and env support extended --- Makefile | 2 ++ foomo-bert/main.go | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/Makefile b/Makefile index b32e5f4..87fbe52 100644 --- a/Makefile +++ b/Makefile @@ -11,3 +11,5 @@ build-arch: clean GOOS=darwin GOARCH=amd64 go build -o bin/foomo-bert-darwin-amd64 foomo-bert/main.go test: go test -v github.com/foomo/gofoomo +docker: build-arch + docker build --tag docker-registry.bestbytes.net/foomo-bert:latest . diff --git a/foomo-bert/main.go b/foomo-bert/main.go index 8830b5b..36e5eb4 100644 --- a/foomo-bert/main.go +++ b/foomo-bert/main.go @@ -52,11 +52,31 @@ func foomoFlagsetPrepare() (fs *flag.FlagSet, f *foomoFlagsPrepare) { return fs, f } +const ( + envNameDir = "FOOMO_BERT_DIR" + envNameRunMode = "FOOMO_BERT_RUN_MODE" + envNameMainModule = "FOOMO_BERT_MAIN_MODULE" + envNameAddr = "FOOMO_BERT_ADDR" +) + +func flagOrEnv(flagValue *string, env string) { + if *flagValue != "" { + return + } + e := os.Getenv(env) + *flagValue = e +} + func validateFlagsReset(f *foomoFlagsReset) (err error) { fp := &foomoFlagsPrepare{ runMode: f.runMode, dir: f.dir, } + + flagOrEnv(fp.dir, envNameDir) + flagOrEnv(fp.runMode, envNameRunMode) + flagOrEnv(f.address, envNameAddr) + prepareErr := validateFlagsPrepare(fp) if prepareErr != nil { return prepareErr @@ -82,6 +102,8 @@ func validateFlagsReset(f *foomoFlagsReset) (err error) { } func validateFlagsPrepare(f *foomoFlagsPrepare) (err error) { + flagOrEnv(f.dir, envNameDir) + flagOrEnv(f.runMode, envNameRunMode) // run mode switch *f.runMode { case foomo.RunModeTest, foomo.RunModeProduction, foomo.RunModeDevelopment: