Sign inSign up

mryozo/puller

By mryozo

•Updated 13 days ago

Watches ECR/Docker Hub/Harbor/GHCR/Registry V2 API for new images; runs a command on change.

Image
Networking
Integration & delivery
Developer tools
0

261

mryozo/puller repository overview

⁠puller

Watches container image registries — Amazon ECR, Docker Hub, Harbor (or any Docker Registry V2 API), and GitHub Container Registry — for new images matching configurable rules, and runs a command whenever the resolved image changes.

It only resolves the manifest digest via the registry's HTTP API — no Docker socket required. Detection and action are decoupled: what happens on change (SSH into a box and deploy, kubectl set image, a webhook call, anything) is entirely up to the command you configure.

⁠Rule types

  • semver — tracks the highest valid SemVer tag, with optional prefix/pattern filtering
  • tag — tracks a fixed/floating tag (e.g. production), fires when it's re-pointed
  • latest — shorthand for tag: latest

⁠Quick start

docker run -d \
  -v $(pwd)/config.yaml:/etc/puller/config.yaml:ro \
  -v puller-state:/var/lib/puller \
  -p 8080:8080 \
  mryozo/puller:latest

Or with Docker Compose / Kubernetes — full guides in the GitHub repo⁠.

⁠Tags

  • latest — most recent tagged release
  • X.Y.Z, X.Y — pinned versions

Multi-arch: linux/amd64, linux/arm64

⁠Configuration

One YAML file: registries (ECR / Docker Hub / Harbor / GHCR + credentials), watchers (repository + rule + poll interval + command). Your triggered command receives PULLER_* env vars — watcher name, matched tag, new/previous digest, and more.

Full config reference, Kubernetes manifests, and source: https://github.com/arvin-corpuz/puller⁠

⁠Health & metrics

/healthz, /readyz, and Prometheus /metrics exposed on port 8080.

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:ea4d8c803…

Size

204.7 MB

Last updated

13 days ago

docker pull mryozo/puller