A tiny HTTP client for distroless container health checks. It sends a HTTP GET request to the URL passed as argument and exits with 0 if the request succeeds, or 1 if it the URL is invalid, unreachable, or the request fails. The binary is self-contained (statically linked), so it can be easily copied into containers which require a healthcheck but don't have any other dependencies.
Binary | Size |
---|---|
curl |
6.1mb |
wget |
1.4mb |
healthcheck |
0.54mb |
Binaries are provided for both x86_64
and arm64
architectures, both as Docker images and as direct download from the Github releases page.
Since this binary is primarily meant to be used for Docker health checks, the easiest way to consume this binary is through Docker.
The binaries are published in the ghcr.io/meck93/distroless-http-healthcheck
repository in scratch containers, and you can use the version tags or latest
.
See below for an examplary usage in a Dockerfile.
FROM ghcr.io/meck93/distroless-http-healthcheck:latest AS healthcheck
FROM scratch AS runner
COPY --from=healthcheck /healthcheck /healthcheck
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 CMD ["/healthcheck", "http://localhost:8080/healthz"]
CMD ["/example"]
The binary is available through Github Releases, and can be downloaded here.
This work is heavily inspired by the following project and blog post: