refactor: clean up flags and environment variables
Alan Pearce alan@alanpearce.eu
Thu, 09 May 2024 20:17:19 +0200
2 files changed, 5 insertions(+), 26 deletions(-)
M internal/server/server.go → internal/server/server.go
@@ -31,22 +31,16 @@ ) var config *cfg.Config -var ( - CommitSHA string - ShortSHA string -) - type Config struct { - Production bool `conf:"default:false"` - InDevServer bool `conf:"default:false"` + Environment string `conf:"default:development"` LiveReload bool `conf:"default:false,flag:live"` - Root string `conf:"default:website"` ListenAddress string `conf:"default:localhost"` Port string `conf:"default:3000,short:p"` BaseURL cfg.URL `conf:"default:http://localhost:3000,short:b"` ConfigFile string `conf:"short:c"` LogLevel slog.Level `conf:"default:INFO"` IndexPath string `conf:"default:data/index.bleve"` + SentryDSN string } type HTTPError struct { @@ -98,16 +92,11 @@ if err != nil { log.Fatalf("could not open search index, error: %#v", err) } - env := "development" - if runtimeConfig.Production { - env = "production" - } err = sentry.Init(sentry.ClientOptions{ EnableTracing: true, TracesSampleRate: 1.0, - Dsn: os.Getenv("SENTRY_DSN"), - Release: CommitSHA, - Environment: env, + Dsn: runtimeConfig.SentryDSN, + Environment: runtimeConfig.Environment, }) if err != nil { return nil, errors.WithMessage(err, "could not set up sentry") @@ -284,7 +273,7 @@ }) } var logWriter io.Writer - if runtimeConfig.Production { + if runtimeConfig.Environment == "production" { logWriter = law.NewWriteAsyncer(os.Stdout, nil) } else { logWriter = os.Stdout
M serve/main.go → serve/main.go
@@ -4,7 +4,6 @@ import ( "fmt" "log" "log/slog" - "net/url" "os" "os/signal" "sync" @@ -13,11 +12,6 @@ "searchix/internal/server" "github.com/ardanlabs/conf/v3" "github.com/pkg/errors" -) - -var ( - CommitSHA string - ShortSHA string ) func main() { @@ -56,10 +50,6 @@ go func() { defer wg.Done() sErr <- sv.Start() }() - if !runtimeConfig.InDevServer { - url, _ := url.Parse("http://" + sv.Addr) - log.Printf("server listening on %s", url.String()) - } err = <-sErr if err != nil {