Files
unpoller-unpoller-3/Dockerfile
Cody Lee b960695f3b Add Docker health check support
Implements #406 by adding a --health CLI flag and HEALTHCHECK instruction
to the Dockerfile. This allows Docker and container orchestration platforms
to monitor container health automatically.

Changes:
- Added --health flag that validates configuration and plugin connectivity
- Implemented HealthCheck() method in pkg/poller/commands.go
- Updated Dockerfile with HEALTHCHECK instruction (30s interval, 10s timeout)
- Updated MANUAL.md with --health flag documentation
- Added health check documentation to Docker README
- Added comments to docker-compose examples about built-in health check

The health check:
- Validates configuration file is found and parseable
- Ensures at least one input and one enabled output are configured
- Performs basic validation on enabled outputs
- Returns exit code 0 (healthy) or 1 (unhealthy)
- Runs silently for Docker compatibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-08 13:09:10 -06:00

19 lines
629 B
Docker

FROM busybox:latest as builder
# we have to do this hop because distroless is bare without common shell commands
RUN mkdir -p /etc/unpoller
# copy over example config for cnfg environment-based default config
COPY examples/up.conf.example /etc/unpoller/up.conf
COPY unpoller_manual.html /etc/unpoller/manual.html
COPY README.html /etc/unpoller/readme.html
FROM gcr.io/distroless/static-debian11
COPY unpoller /usr/bin/unpoller
COPY --from=builder /etc/unpoller /etc/unpoller
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
CMD ["/usr/bin/unpoller", "--health"]
ENTRYPOINT [ "/usr/bin/unpoller" ]