docker and env support extended

This commit is contained in:
Jan Halfar 2017-07-11 15:47:25 +02:00
parent c1cf1fbfb9
commit 030048992f
2 changed files with 24 additions and 0 deletions

View File

@ -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 .

View File

@ -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: