Rapid web development, all in one place
Under the hood a lot of different and cool packages such as:
- Logrus
- Go-PG
- Go-redis
- Uber FX
- Viper
- Sentry
- Pprof
- Prometheus
Also it supports:
- Workers using chapsuk workers package
- Http.Handler binding and serving
Dependency: *viper.Viper
Configuration:
Configuration file are located at NARADA_CONFIG
or config.yml
.
Environment BINDING_API
will be replaced to binding.api
.
Dependency: *logrus.Logger
Configuration:
logger:
formatter: text # Supported values ['text', 'json']
level: debug # Supported values ['debug', 'info', 'warn', 'error']
catch_errors: true # Sending >=error level to sentry
slack: false # Sending >= error level to slack
slack_url: "" # Slack webhook url [Required when slack is true]
slack_icon: ""
slack_emoji: ":ghost:"
slack_username: "<YOUR_APP_NAME>_bot"
slack_channel: "" # Slack username [Required when slack is true]
This module generates
Dependency: *narada.Workers
Here all clients that are provided automatically located.
Dependency: *redis.Client
Configuration:
redis:
addr: "" # Redis address, in e.g.: 127.0.0.1:6379
db: 0
password: ""
pool_size: 10
idle_timeout: 60s
Dependency: *pg.DB
Configuration:
database:
addr: "" # PostgreSQL address
user: ""
password: ""
database: ""
pool: 10