bricks

module
v0.1.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 6, 2019 License: MIT

README

PACE Bricks

Opinionated microservice kit to help developers to build microservices with go.

Install

go get github.com/pace/bricks/cmd/pb

Usage

pb -h
Environment variables
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.

Requirements

  • A working go installation
  • A working git installation
  • Installed SSH keys for git

Testing

Use make testserver to test logging and tracing with postgres, redis and external http service. Use make docker.all to create/start all docker containers.

Configuration

All of the microservices follow the TWELVE-FACTOR APP standard of environment based configuration.

http/jsonapi

In http/jsonapi/generator/internal multiple test APIs can be found. The generated code in these directories can be updated with make jsonapi.

Jaeger

Access web UI: http://localhost:16686/search

Directories

Path Synopsis
backend
postgres
Package postgres helps creating PostgreSQL connection pools
Package postgres helps creating PostgreSQL connection pools
redis
Package redis helps creating redis connection pools
Package redis helps creating redis connection pools
cmd
pb command
Package http implements the basic pace microservice handlers and a standard microservice server configured via environment variables.
Package http implements the basic pace microservice handlers and a standard microservice server configured via environment variables.
jsonapi/generator
Package generator translates an OpenAPIv3 specification into working go code that handles marshalling, error handling, parameter parsing and validation.
Package generator translates an OpenAPIv3 specification into working go code that handles marshalling, error handling, parameter parsing and validation.
jsonapi/runtime
Package runtime contains functions for marshalling, error handling, parameter parsing and validation.
Package runtime contains functions for marshalling, error handling, parameter parsing and validation.
oauth2
Package oauth2 provides a middelware that introspects the auth token on behalf of PACE services and populate the request context with useful information when the token is valid, otherwise aborts the request.
Package oauth2 provides a middelware that introspects the auth token on behalf of PACE services and populate the request context with useful information when the token is valid, otherwise aborts the request.
internal
maintenance
health
Package health implements a simple but performant handler that will be invoked by the loadbalancer frequently
Package health implements a simple but performant handler that will be invoked by the loadbalancer frequently
log
metric
Package metric returns the prometheus metrics handler
Package metric returns the prometheus metrics handler
metric/jsonapi
Package jsonapi implements the json api related metrics documented here: https://lab.jamit.de/pace/web/meta/wikis/concept/metrics#m2-microservice-any-pace-microservice
Package jsonapi implements the json api related metrics documented here: https://lab.jamit.de/pace/web/meta/wikis/concept/metrics#m2-microservice-any-pace-microservice
terminationlog
Package terminationlog helps to fill the kubernetes termination log.
Package terminationlog helps to fill the kubernetes termination log.
pkg
synctx
Package synctx implements helpers for the context package on top of the sync package.
Package synctx implements helpers for the context package on top of the sync package.
test
livetest
Package livetest implements a set of helpers that ease writing of a sidecar that tests the functions of a service.
Package livetest implements a set of helpers that ease writing of a sidecar that tests the functions of a service.
tools
jsonapigen command
testserver command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL