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 GOOS=darwin GOARCH=amd64 go build -o bin/foomo-bert-darwin-amd64 foomo-bert/main.go
test: test:
go test -v github.com/foomo/gofoomo 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 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) { func validateFlagsReset(f *foomoFlagsReset) (err error) {
fp := &foomoFlagsPrepare{ fp := &foomoFlagsPrepare{
runMode: f.runMode, runMode: f.runMode,
dir: f.dir, dir: f.dir,
} }
flagOrEnv(fp.dir, envNameDir)
flagOrEnv(fp.runMode, envNameRunMode)
flagOrEnv(f.address, envNameAddr)
prepareErr := validateFlagsPrepare(fp) prepareErr := validateFlagsPrepare(fp)
if prepareErr != nil { if prepareErr != nil {
return prepareErr return prepareErr
@ -82,6 +102,8 @@ func validateFlagsReset(f *foomoFlagsReset) (err error) {
} }
func validateFlagsPrepare(f *foomoFlagsPrepare) (err error) { func validateFlagsPrepare(f *foomoFlagsPrepare) (err error) {
flagOrEnv(f.dir, envNameDir)
flagOrEnv(f.runMode, envNameRunMode)
// run mode // run mode
switch *f.runMode { switch *f.runMode {
case foomo.RunModeTest, foomo.RunModeProduction, foomo.RunModeDevelopment: case foomo.RunModeTest, foomo.RunModeProduction, foomo.RunModeDevelopment: