Awesome Open Source
Awesome Open Source
Sponsorship

PACE Bricks Build Status Coverage Status

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 to docker-compose restart testserver

Environment variables for the pb command

Variable Description
PACE_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.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
go (13,635
docker (2,531
kubernetes (1,518
redis (847
http (838
microservices (412
logging (362
metrics (311
prometheus (282
postgres (250
restful-api (168
json-api (106
tracing (103
openapi3 (73
sentry (53
jaeger (19

Find Open Source By Browsing 7,000 Topics Across 59 Categories