Skeleton app for all our go backends
-
Tools:
-
db connector - upper/db
- now v3
- try to use v4
-
migrations - pressly/goose
- setup goose migrations
-
sentry sentry-go
-
toml parser BurntSushi/toml
-
Run http server on port, which is defined in etc/config.toml
-
Logging
-
Local environment: unstructured logging
- Straight to console?
-
Production environment: structured logging (json)
- Straight to console?
-
-
Implementation of gracefull shutdown of http server
- sigterm stop server Go by Example: Signals
-
Database:
- PostgreSQL?
- Hosted in Docker with docker-compose
-
Configuration https middlewares:
- RealIP
- RequestLogger
- Recoverer
- Local: run it
- Production: log it to sentry and kibana
-
Status page