Sign inSign up

berkitamas/dockerhub-ratelimit-exporter

By berkitamas

Updated over 1 year ago

Prometheus exporter for Docker Hub rate limits

Image
Monitoring & observability
0

4.1K

berkitamas/dockerhub-ratelimit-exporter repository overview

GitHub Release GitHub License

Docker Hub rate limit exporter

Prometheus exporter for Docker Hub rate limits

Note: To follow the highly advised least privilege principle, use an access token with "Public Repo Read-only" privileges.

Installation

Using Docker image
# Anonymous
docker run -it --rm \
  -p 8000:8000 \
  docker.io/berkitamas/dockerhub-ratelimit-exporter:<tag or latest>

# Authenticated
docker run -it --rm \
  -p 8000:8000 \
  -e DOCKER_HUB_USERNAME="username" \
  -e DOCKER_HUB_PASSWORD="changeme" \
  docker.io/berkitamas/dockerhub-ratelimit-exporter:<tag or latest>
Manually
# Optionally create a Python venv
# Install Python requirements
pip install -r requirements.txt
# Start the application
python app.py

Usage

usage: app.py [-h] [-p PORT] [-l LISTEN] [--tls-crt TLS_CRT]
              [--tls-key TLS_KEY] [-v]

Prometheus collector for Docker Hub rate limits

options:
  -h, --help            show this help message and exit
  -p PORT, --port PORT  Port to expose metrics to (default: 8000)
  -l LISTEN, --listen LISTEN
                        Address to listen from (default: 0.0.0.0)
  --tls-crt TLS_CRT     TLS certificate file for HTTPS
  --tls-key TLS_KEY     TLS private key file for HTTPS
  -v, --verbose         Enable verbose logs

Exposed metrics

(excluding common metrics)

# HELP pulls_remaining Remaining pulls for Docker Hub
# TYPE pulls_remaining gauge
pulls_remaining{interval="21600",source="<IP address or user UUID>"} 96.0
# HELP pulls_total Total allowed pulls for Docker Hub
# TYPE pulls_total gauge
pulls_total{interval="21600",source="<IP address or user UUID>"} 100.0

Environment variables

  • DOCKER_HUB_USERNAME: Docker Hub username/access ID
  • DOCKER_HUB_PASSWORD: Docker Hub password/access secret

References

Tag summary

Content type

Image

Digest

sha256:e1716c73a

Size

25.3 MB

Last updated

over 1 year ago

docker pull berkitamas/dockerhub-ratelimit-exporter