Coffee API written in Go
Docker Image: https://hub.docker.com/r/hashicorpdemoapp/coffee-service
The coffee service illustrates how to extract a microservice out of a monolith.
All coffee related functionality from the product-api has been extracted over to this microservice. The service has been instrumented with the go-hckit tracing middleware. There are multiple versions of the service with different featuresets by version.
- v1 provides all the core db lookup logic and a simple Jaeger instrumentation implementation
- v2 improves the instrumentation position by leveraging jmoiron/sqlx so that users
can optionally deploy
SQL_TRACE_ENABLED
builds for query tracing via Jaeger - v3 improves the implementation by converting the service to a search node using in memory data, and thus sidestepping the database calls entirely
- coffee-service-v1.yaml - Deployment for v1 of the service
- coffee-service-v2.yaml - Deployment for v2 of the service
- coffee-service-v3.yaml - Deployment for v3 of the service
Waypoint support is under active development. The waypoint.hcl
file in the project root is not yet stable. Check back
for updates.
First build the local docker image.
make build_docker_dev
Then run the image. You can supply whatever port, version, log level, and name you like
docker run -d -p 9090:9090 --env BIND_ADDRESS=localhost:9090 --env VERSION=v3 --env LOG_LEVEL=DEBUG --name=coffee-service hashicorpdemoapp/coffee-service:devlocal