Malutki
A tiny HTTP server used to validate HTTP traffic in testing scenarios.
About
This HTTP server is meant to be used in integration, E2E and manual testing
scenarios to validate HTTP traffic routing. The initial use case for malutki
was in fact to be deployed to Kubernetes Pods in order to
validate that an ingress controller was properly routing HTTP traffic to
those Pods
, and to test service mesh observability.
This server provides testing APIs that can be used to test certain kinds of HTTP
responses, including a /status/{code}
endpoint which simply returns the HTTP
status it is provided. This can be helpful when your tests require a specific
response or when you’re testing tools that trace and observe HTTP traffic over
a network (such as the observability features of a service mesh like
Istio).
It is a core design goal of this project to ensure that the binary and container images for this tool are extremely small and portable. It is an eventual goal to build using TinyGo once the project supports net/http, so this tool intentionally uses minimal dependencies in preparation for that transition. Container images are built using distroless to minimize size.
Trivia: “malutki” means “tiny” in Polish.
Usage
Generally speaking you’ll use the container image for malutki
, so one
easy way to deploy it is as a Kubernetes Pod
:
kubectl run malutki --image ghcr.io/shaneutt/malutki
TODO: more