Stefan Prodan 3369d03e47 backend test
2018-02-14 01:15:04 +02:00
2018-02-11 15:45:05 +02:00
2018-01-09 01:51:45 +02:00
2018-02-14 01:15:04 +02:00
2018-02-11 15:42:50 +02:00
2018-01-07 12:29:49 +02:00
2018-01-05 17:56:25 +02:00
2018-01-22 12:08:28 +02:00
2018-01-05 19:45:25 +02:00
2018-01-07 12:29:49 +02:00
2018-01-05 16:20:00 +02:00
2018-01-09 15:41:53 +02:00
2018-02-12 02:22:12 +02:00

k8s-podinfo

Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes.

Specifications:

  • Multi-arch build and release automation (Make/TravisCI)
  • Multi-platform Docker image (amd64/arm/arm64/ppc64le/s390x)
  • Health checks (readiness and liveness)
  • Graceful shutdown on interrupt signals
  • Prometheus instrumentation (RED metrics)
  • Dependency management with golang/dep
  • Multi-level logging with golang/glog
  • Error handling with pkg/errors
  • Helm chart

Web API:

  • GET / prints runtime information, environment variables, labels and annotations
  • GET /version prints podinfo version and git commit hash
  • GET /metrics http requests duration and Go runtime metrics
  • GET /healthz used by Kubernetes liveness probe
  • GET /readyz used by Kubernetes readiness probe
  • POST /readyz/enable signals the Kubernetes LB that this instance is ready to receive traffic
  • POST /readyz/disable signals the Kubernetes LB to stop sending requests to this instance
  • GET /panic crashes the process with exit code 255
  • POST /echo echos the posted content, logs the SHA1 hash of the content
  • POST /job long running job, json body: {"wait":2}
  • POST /backend forwards the call to the backend service on http://backend-podinfo:9898/echo

Guides

Description
Languages
Go 76.8%
CUE 11.6%
HTML 3.7%
Makefile 3.4%
Shell 2.4%
Other 2.1%