12factorize

trunk
Adam Veldhousen 3 years ago
parent a4e5e06b67
commit 3e9a0346e0
Signed by: adam
GPG Key ID: 6DB29003C6DD1E4B

@ -6,6 +6,7 @@ require (
github.com/go-chi/chi v1.5.4
github.com/go-chi/chi/v5 v5.0.2
github.com/go-chi/jwtauth/v5 v5.0.1
github.com/kelseyhightower/envconfig v1.4.0
github.com/lib/pq v1.10.0
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
)

@ -13,6 +13,8 @@ github.com/go-chi/jwtauth/v5 v5.0.1 h1:eyJ6Yx5VphEfjkqpZ7+LJEWThzyIcF5aN2QVpgqSI
github.com/go-chi/jwtauth/v5 v5.0.1/go.mod h1:+JtcRYGZsnA4+ur1LFlb4Bei3O9WeUzoMfDZWfUJuoY=
github.com/goccy/go-json v0.4.8 h1:TfwOxfSp8hXH+ivoOk36RyDNmXATUETRdaNWDaZglf8=
github.com/goccy/go-json v0.4.8/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8=
github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg=
github.com/lestrrat-go/backoff/v2 v2.0.7 h1:i2SeK33aOFJlUNJZzf2IpXRBvqBBnaGXfY5Xaop/GsE=
github.com/lestrrat-go/backoff/v2 v2.0.7/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y=
github.com/lestrrat-go/codegen v1.0.0/go.mod h1:JhJw6OQAuPEfVKUCLItpaVLumDGWQznd1VaXrBk9TdM=

@ -9,14 +9,25 @@ import (
"git.vdhsn.com/adam/bodytrack/internal/services"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
"github.com/kelseyhightower/envconfig"
)
type APIConfig struct {
Host string
JWT_Secret string
PG_Host string
PG_Username string
PG_Password string
}
func main() {
services.InitJWT("ducks123")
var cfg APIConfig
envconfig.MustProcess("bodytrack_api", &cfg)
services.InitJWT(cfg.JWT_Secret)
r := chi.NewRouter()
r.Use(middleware.Logger)
db, err := services.Connect("localhost", "api", "api-user")
db, err := services.Connect(cfg.PG_Host, cfg.PG_Username, cfg.PG_Password)
if err != nil {
log.Fatal(err)
}

@ -1,7 +1,12 @@
BIN := .bin
start: $(BIN)/api
./$(BIN)/api -db-host=localhost -jwt-secret=ducks123
BODYTRACK_API_HOST="localhost" \
BODYTRACK_API_JWT_SECRET="ducks123" \
BODYTRACK_API_PG_HOST="localhost" \
BODYTRACK_API_PG_USERNAME="api" \
BODYTRACK_API_PG_PASSWORD="api-user" \
./$(BIN)/api
clean:
@rm -rf $(BIN)

Loading…
Cancel
Save