environment-ize configuration
This commit is contained in:
parent
04506ed01f
commit
ca618cc609
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
/server
|
/server
|
||||||
/manager
|
/manager
|
||||||
|
*.properties
|
11
Makefile
11
Makefile
@ -1,17 +1,26 @@
|
|||||||
.PHONY: up down
|
.PHONY: up down run
|
||||||
|
|
||||||
GOFILES=$(shell find . -name '*.go' -o -name 'go.*')
|
GOFILES=$(shell find . -name '*.go' -o -name 'go.*')
|
||||||
STATICFILES=$(shell find . -name '*.js' -o -name '*.css' -o -name '*.html')
|
STATICFILES=$(shell find . -name '*.js' -o -name '*.css' -o -name '*.html')
|
||||||
SQLFILES=$(shell find . -name '*.sql')
|
SQLFILES=$(shell find . -name '*.sql')
|
||||||
|
|
||||||
|
ifneq (,$(wildcard ./local.properties))
|
||||||
|
include local.properties
|
||||||
|
export
|
||||||
|
endif
|
||||||
|
|
||||||
build: server manager
|
build: server manager
|
||||||
|
|
||||||
|
run: build
|
||||||
|
./server
|
||||||
|
|
||||||
server: $(GOFILES) $(STATICFILES)
|
server: $(GOFILES) $(STATICFILES)
|
||||||
go build -o server ./cmd/serve
|
go build -o server ./cmd/serve
|
||||||
|
|
||||||
manager: $(GOFILES) $(SQLFILES)
|
manager: $(GOFILES) $(SQLFILES)
|
||||||
go build -o manager ./cmd/manage
|
go build -o manager ./cmd/manage
|
||||||
|
|
||||||
|
# dev dependencies
|
||||||
up:
|
up:
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
|
|
||||||
|
@ -10,8 +10,17 @@ import (
|
|||||||
"git.yetaga.in/alazyreader/library/book"
|
"git.yetaga.in/alazyreader/library/book"
|
||||||
"git.yetaga.in/alazyreader/library/database"
|
"git.yetaga.in/alazyreader/library/database"
|
||||||
"git.yetaga.in/alazyreader/library/frontend"
|
"git.yetaga.in/alazyreader/library/frontend"
|
||||||
|
"github.com/kelseyhightower/envconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Config struct {
|
||||||
|
DBUser string
|
||||||
|
DBPass string
|
||||||
|
DBHost string
|
||||||
|
DBPort string
|
||||||
|
DBName string
|
||||||
|
}
|
||||||
|
|
||||||
type Library interface {
|
type Library interface {
|
||||||
GetAllBooks(context.Context) ([]book.Book, error)
|
GetAllBooks(context.Context) ([]book.Book, error)
|
||||||
}
|
}
|
||||||
@ -54,11 +63,19 @@ func StaticHandler(f fs.FS) http.Handler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
var c Config
|
||||||
|
err := envconfig.Process("library", &c)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln(err)
|
||||||
|
}
|
||||||
f, err := frontend.Root()
|
f, err := frontend.Root()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalln(err)
|
log.Fatalln(err)
|
||||||
}
|
}
|
||||||
lib, err := database.NewMySQLConnection("root", "KigYBNCT9IU5XyB3ehzMLFWyI", "127.0.0.1", "3306", "library")
|
if c.DBUser == "" || c.DBPass == "" || c.DBHost == "" || c.DBPort == "" || c.DBName == "" {
|
||||||
|
log.Fatalf("vars: %+v", c)
|
||||||
|
}
|
||||||
|
lib, err := database.NewMySQLConnection(c.DBUser, c.DBPass, c.DBHost, c.DBPort, c.DBName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalln(err)
|
log.Fatalln(err)
|
||||||
}
|
}
|
||||||
|
5
go.mod
5
go.mod
@ -2,4 +2,7 @@ module git.yetaga.in/alazyreader/library
|
|||||||
|
|
||||||
go 1.16
|
go 1.16
|
||||||
|
|
||||||
require github.com/go-sql-driver/mysql v1.6.0
|
require (
|
||||||
|
github.com/go-sql-driver/mysql v1.6.0
|
||||||
|
github.com/kelseyhightower/envconfig v1.4.0
|
||||||
|
)
|
||||||
|
2
go.sum
2
go.sum
@ -1,2 +1,4 @@
|
|||||||
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
|
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
|
||||||
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||||
|
github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8=
|
||||||
|
github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg=
|
||||||
|
Loading…
Reference in New Issue
Block a user