Project to experiment with http request scenarios like service-meshs or deployment-strategies.
Container images for linux/amd64 and linux/arm64 are available from quay.io/heubeck/examiner.
The π°πππππππ responds to every GET request at or below the /examine path with an optional, preconfigured value, set via the ECHO_VALUE environment variable.
The π°πππππππ logs every POST request on arbitrary paths to its log output by default. The logging can be customized using the following env:
LOG_METHODS: Comma separated list of http methods to be loggedLOG_HEADERS: Comma separated list of regex values for http header names to be logged, defaulting toX-.*
There are some environment variables to configure default behavior:
ECHO_VALUE: Text value to be responded on GET/examinerequestsSERVER_ERROR_RATE: Int value as probability in percent (0 - 100) that HTTP 500 codes are responded.REQUEST_DELAY: Default millisecond delay for every request.HTTP_PORT: Port to serve on, default: 8080
The following query parameter are supported and have precedence over the default configuration:
status: Status value used for the response, range: [200-600[delay: Milliseconds to delay the response:- a single number e.g. "1337" for the given delay of milliseconds
- a range e.g. "42..667" for a random delay of milliseconds
load: Stress the CPU at a level from 1 (some load) to 100 (high load) for the givendelayallocation: Create memory pressure at a level from 1 (slow rate) to 100 (get what's there) by running string allocations over the givendelay.
Liveness and readiness probes are always successful at /.well-known/live and /.well-known/ready.
The π°πππππππ dies when called with a DELETE request on the path /poison-pill.
The exit code can be configured by a query parameter exit: DELETE /poison-pill?exit=1, default is exit code 0 (in words: zero).
Only regular supported query parameter for this method is the delay to wait before dying.