Prometheus exporter for the Doomsday Clock value
- Go 67.3%
- Shell 15.6%
- Dockerfile 14.4%
- Makefile 2.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
published / source-is-compliant (push) Successful in 31s
published / source-is-secure (push) Successful in 51s
published / documentation-passes-lint (push) Successful in 1m58s
published / source-passes-lint (push) Successful in 4m5s
published / documentation-is-ok (push) Successful in 0s
published / projectfile-is-ok (push) Successful in 17s
published / source-is-ok (push) Successful in 0s
published / inputs-are-ok (push) Successful in 0s
published / binaries-are-built (amd64, linux) (push) Successful in 2m54s
published / binaries-are-built (arm64, linux) (push) Successful in 1m51s
published / binaries-are-built (riscv64, linux) (push) Successful in 51s
published / image-is-built (amd64) (push) Successful in 11m6s
published / image-is-built (arm64) (push) Successful in 10m15s
published / image-is-built (riscv64) (push) Successful in 10m22s
published / gsa (amd64, linux) (push) Successful in 7s
published / gsa (arm64, linux) (push) Successful in 9s
published / gsa (riscv64, linux) (push) Successful in 7s
published / secrets-ready (push) Successful in 0s
published / image-is-secure (amd64) (push) Successful in 26s
published / image-is-secure (arm64) (push) Successful in 37s
published / image-is-secure (riscv64) (push) Successful in 35s
published / binaries-are-ok (push) Successful in 0s
published / binaries-are-released (amd64, linux) (push) Has been skipped
published / binaries-are-released (arm64, linux) (push) Has been skipped
published / binaries-are-released (riscv64, linux) (push) Has been skipped
published / images-are-ok (push) Successful in 0s
published / container-is-ok (push) Successful in 0s
published / container-ready-to-test (push) Successful in 0s
published / container-is-verified (amd64) (push) Successful in 1m8s
published / image-is-ready (push) Successful in 0s
published / artifacts-are-ok (push) Successful in 0s
published / ready-to-publish (push) Successful in 1s
published / publish-image (dockerhub) (push) Has been skipped
published / publish-image (kiota) (push) Has been skipped
published / published (push) Has been skipped
published / fetched (push) Successful in 0s
published / projectfile-is-valid (push) Successful in 18s
published / source-is-tested (push) Successful in 21s
Opt in: dockerhub.yaml |
||
| .compose | ||
| .container | ||
| .forgejo/workflows | ||
| .github/workflows | ||
| .makefile | ||
| .scripts | ||
| docs | ||
| LICENSES | ||
| .claudeignore | ||
| .containerignore | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .yamllint | ||
| AGENTS.md | ||
| AI_POLICY.md | ||
| CITATION.cff | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| FEATURES.md | ||
| go.mod | ||
| go.sum | ||
| go.sum.license | ||
| lefthook.yaml | ||
| LICENSE | ||
| main.go | ||
| main_test.go | ||
| Makefile | ||
| projectfile.yaml | ||
| README.md | ||
| SECURITY.md | ||
| SUPPORT.md | ||
Doomsday Clock Exporter
Prometheus exporter for the Doomsday Clock value
Features
- Cached scraping with graceful degradation
- Environment variable configuration
- Service-specific healthcheck
- Self-observability metrics
Inherited from B19 / Ubuntu
- Persistent APT cache across builds
- Service process management with log routing (b19-exec)
- Cached artifact downloads with integrity verification
- Timed command execution with failure reporting (b19-run)
- Run-once initialization (bootstrap.d)
- Modular build hooks (build.d)
- Automatic CPU count detection
- Declarative dependency management (b19-deps)
- Pluggable startup system (entrypoint.d)
- Feature toggles for all subsystems
- Built-in health monitoring (healthcheck.d)
- Multilingual shell output (b19-i18n)
- Image lineage tracking
- Structured, level-filtered logging (b19-log)
- Non-root container by default
- Air-gapped / offline build and runtime support
- Runtime overlay injection
- Reproducible base image (pinned by digest)
- Port validation
- Unified lifecycle runner family
- Docker secrets auto-loading
- Interactive shell hooks
- Graceful signal handling
- Jinja2 configuration templates (minijinja-cli)
- Built-in test framework (test.d)
- Pre-installed utility tools
- XDG Base Directory paths
See FEATURES.md for the full list.
What this provides
- Executable
doomsday-clock-exporter - Container image
ghcr.io/damian-buho/damian-buho/doomsday-clock-exporter:latest - Container image
docker.io/damianbuho/doomsday-clock-exporter:latest
Supported platforms
linux/amd64linux/arm64linux/riscv64
Installation
Pull the published container image:
Pull from GHCR
docker pull ghcr.io/damian-buho/damian-buho/doomsday-clock-exporter:latest
Pull from DockerHub
docker pull docker.io/damianbuho/doomsday-clock-exporter:latest
Stable releases also publish X.Y.Z, X.Y and X tags — pull the precision you want to pin.
If the registries above are unreachable, pull from the origin instead:
Pull from Kiota
docker pull kiota.ch/damian-buho/doomsday-clock-exporter:latest
Usage
Bring the stack up locally:
make dc-up
make dc-logs
make dc-down
Then run it:
doomsday-clock-exporter --help
Building
Run make with no arguments for the default target; run make help to list every target.
For the local dev loop, make dev-container brings up the dev-container.
Pipeline entry points:
make analyze— Run the heavy analysis sweep (mutation testing, benchmarks)make audited— Re-scan the pinned dependencies and published artifacts for new vulnerabilitiesmake check-outdated— Report every pinned dependency that lags upstreammake ready-to-publish— Run the pseudo-CI pipeline locally — build, test and scan, without publishing
Policies
Links
License
This project is licensed under MIT — see the LICENSE file for details.