Prometheus exporter for the Doomsday Clock value
  • Go 67.3%
  • Shell 15.6%
  • Dockerfile 14.4%
  • Makefile 2.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Damián Búho cd45b5fb0f
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
feat(publish): push to Docker Hub
Opt in: dockerhub.yaml
2026-09-22 22:05:26 -03:00
.compose fix(compose): drop the traefik-network attachment from CI 2026-08-21 14:48:24 -03:00
.container chore: regenerate .pots 2026-09-07 02:01:22 -03:00
.forgejo/workflows feat(publish): push to Docker Hub 2026-09-22 22:05:26 -03:00
.github/workflows build: explicit ubuntu-26.04 runners 2026-09-20 05:00:51 -03:00
.makefile chore(makefile): sync m6e submodules 2026-09-20 04:14:44 -03:00
.scripts fix(build-binaries): stop writing a duplicate unsuffixed dist/doomsday-clock-exporter 2026-09-05 23:41:50 -03:00
docs feat(publish): push to Docker Hub 2026-09-22 22:05:26 -03:00
LICENSES chore: init 2026-08-15 13:48:06 -03:00
.claudeignore chore: sorting for claudeignore 2026-09-13 12:49:05 -03:00
.containerignore chore(ignore): cleanup ignores 2026-09-18 00:38:41 -03:00
.dockerignore chore: clean .gitlab from dockerignores 2026-09-14 00:38:00 -03:00
.gitattributes chore: clean j2 from attributes 2026-09-14 00:36:47 -03:00
.gitignore chore: sorting for gitignore 2026-09-13 12:46:05 -03:00
.gitmodules build: hard .gitmodules before big refactoring of m6e 2026-09-02 18:40:12 -03:00
.yamllint feat(forge): declare the account as forge org with a bare flatpath 2026-09-17 22:26:03 -03:00
AGENTS.md refactor(namespace): move from o9s to damian-buho 2026-09-14 03:33:02 -03:00
AI_POLICY.md chore(docs): prevent user data from triggering textlint 2026-08-19 23:23:57 -03:00
CITATION.cff refactor(namespace): move from o9s to damian-buho 2026-09-14 03:33:02 -03:00
CLAUDE.md chore: init 2026-08-15 13:48:06 -03:00
CODE_OF_CONDUCT.md docs: cleanup code of conduct 2026-08-18 02:17:53 -03:00
CODEOWNERS chore: init 2026-08-15 13:48:06 -03:00
CONTRIBUTING.md chore(docs): reenable codeberg 2026-09-18 14:36:03 -03:00
Dockerfile fix(container): declare the full b19 build-arg surface 2026-08-27 21:30:55 -03:00
FEATURES.md chore(docs): regenerate 2026-09-16 22:05:45 -03:00
go.mod fix(deps): bump github.com/prometheus/client_model to v0.6.3 2026-09-04 15:22:14 -03:00
go.sum fix(deps): bump github.com/prometheus/client_model to v0.6.3 2026-09-04 15:22:14 -03:00
go.sum.license chore: init 2026-08-15 13:48:06 -03:00
lefthook.yaml chore: fix lefthook color issue 2026-09-15 22:24:40 -03:00
LICENSE chore: init 2026-08-15 13:48:06 -03:00
main.go chore: init 2026-08-15 13:48:06 -03:00
main_test.go chore: init 2026-08-15 13:48:06 -03:00
Makefile chore: init 2026-08-15 13:48:06 -03:00
projectfile.yaml feat(publish): push to Docker Hub 2026-09-22 22:05:26 -03:00
README.md feat(publish): push to Docker Hub 2026-09-22 22:05:26 -03:00
SECURITY.md docs: clean up security.md (temporarily disable how to link) 2026-08-18 01:37:34 -03:00
SUPPORT.md chore(docs): reenable codeberg 2026-09-18 14:36:03 -03:00

Español · Українська

Doomsday Clock Exporter

Prometheus exporter for the Doomsday Clock value

Stand with Ukraine Projectfile inside License Commit style Workflow Versioning PRs welcome Citation REUSE compliance

Project status Last commit on kiota.ch Last commit on Codeberg Last commit on GitHub

Publish pipeline on GitHub Vulnerability audit on GitHub Dependency freshness on GitHub Analysis sweep on GitHub

Publish pipeline on kiota.ch Vulnerability audit on kiota.ch Dependency freshness on kiota.ch Analysis sweep on kiota.ch

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/amd64
  • linux/arm64
  • linux/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 vulnerabilities
  • make check-outdated — Report every pinned dependency that lags upstream
  • make ready-to-publish — Run the pseudo-CI pipeline locally — build, test and scan, without publishing

Policies

License

This project is licensed under MIT — see the LICENSE file for details.