go-icndb
This is a simple clone of Internet Chuck Norris DB.
The scope of this project is to be a sample project that can be used for:
- trainings
- experiments e.g. with load testint tools
- probably something else
Getting started
To start the API locally just start the container and publish the default port 3000.
docker run --rm -ti -p 3000:3000 ghcr.io/baez90/go-icndb:latest
Then start using it: http://localhost:3000.
When opening the root of the app you're automatically redirected to a Swagger UI describing how to use the API.
Configuration
go-icndb being a nice 'cloud native'-ish application can be configured either via CLI flags or via environment
variables.
| Option |
CLI switch |
Env variable |
| Listen address |
--http.address |
ICNDB_HTTP_ADDRESS |
| Default first name |
--jokes.default-first-name |
ICNDB_JOKES_DEFAULT_FIRST_NAME |
| Default last name |
--jokes.default-last-name |
ICNDB_JOKES_DEFAULT_LAST_NAME |
Observability
go-icndb exposes some observability related endpoints:
/health - basic health check, doesn't do much
/metrics - exposes Prometheus compliant metrics