12
bricks - a standard library for microservices
source link: https://github.com/pace/bricks
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
PACE Bricks
Opinionated microservice kit to help developers to build microservices with go.
Opinions
A pace/bricks microservice is:
- built as a docker container
- deployed into a kubernetes cluster
- support for the termination log
- configured using environment variables ( TWELVE-FACTOR APP )
- monitored using prometheus
- reports errors to sentry
- samples traces to jaeger
- logs to stdout using json deployed kubernetes otherwise human readable
- offers health endpoints
- connects to backend services
- postgres (logging, metrics, tracing, health)
- redis (logging, metrics, tracing, health)
- s3 (logging, metrics, tracing, health)
- http (logging, metrics, tracing, retries)
- provides two commands control and daemon
- provides a RESTful API
- code is generated from the OpenAPIv3 spec
- authenticated via OAuth2
- encoded using json:api
- that supports logging , tracing and metrics
Install
go get github.com/pace/bricks/cmd/pb
Usage
pb -h
Contributing
Read our contributors guide .
Requirements
- A working go installation
- A working git installation
Testing
- Use
make test
to test without dependencies - Use
docker-compose run testserver make integration
to test with dependencies - Use
make testserver
to start a testserver that will be started with dependencies. In order to update the server one need todocker-compose restart testserver
Environment variables for the pb command
Variable DescriptionPACE_BRICKS_EDITOR
The path to the editor that should be used for opening a project. Defaults to $EDITOR
.
PACE_BRICKS_PATH
The path where new project should be created. Defaults to $HOME/PACE
.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK