Ian Duffy 198211e20b Add delayed chunk endpoint
Adds an endpoint that does chunk based encoding. The endpoint just stalls
and eventually returns the stall time.

Similar to the delay endpoint but in a chunked maner.

Fixed up the metrics interceptor to wrap ResponseWriter correctly too.
2019-08-04 00:34:12 +01:00
2019-07-26 01:02:01 +03:00
2019-03-21 20:57:07 +02:00
2019-06-15 18:33:10 +03:00
2019-08-04 00:34:12 +01:00
2019-07-26 01:15:47 +03:00
2018-10-26 12:08:01 +03:00
2018-05-11 14:53:17 +01:00
2019-02-08 01:07:15 +02:00
2018-08-13 14:52:49 +03:00
2018-08-13 14:52:49 +03:00
2018-10-26 12:08:01 +03:00
2018-09-11 22:12:37 +03:00
2018-01-05 16:20:00 +02:00
2018-09-11 18:04:13 +03:00
2018-05-17 12:51:52 +01:00

k8s-podinfo

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

Specifications:

  • Release automation (Make/TravisCI/CircleCI/Quay.io/Google Cloud Container Builder/Skaffold/Weave Flux)
  • Multi-platform Docker image (amd64/arm/arm64/ppc64le/s390x)
  • Health checks (readiness and liveness)
  • Graceful shutdown on interrupt signals
  • File watcher for secrets and configmaps
  • Instrumented with Prometheus
  • Tracing with Istio and Jaeger
  • Structured logging with zap
  • 12-factor app with viper
  • Fault injection (random errors and latency)
  • Helm chart

Web API:

  • GET / prints runtime information
  • GET /version prints podinfo version and git commit hash
  • GET /metrics return 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 /status/{code} returns the status code
  • GET /panic crashes the process with exit code 255
  • POST /echo forwards the call to the backend service and echos the posted content
  • GET /env returns the environment variables as a JSON array
  • GET /headers returns a JSON with the request HTTP headers
  • GET /delay/{seconds} waits for the specified period
  • POST /token issues a JWT token valid for one minute JWT=$(curl -sd 'anon' podinfo:9898/token | jq -r .token)
  • GET /token/validate validates the JWT token curl -H "Authorization: Bearer $JWT" podinfo:9898/token/validate
  • GET /configs returns a JSON with configmaps and/or secrets mounted in the config volume
  • POST /store writes the posted content to disk at /data/hash and returns the SHA1 hash of the content
  • GET /store/{hash} returns the content of the file /data/hash if exists
  • GET /ws/echo echos content via websockets podcli ws ws://localhost:9898/ws/echo

Guides

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