Main page. Just simple HTML, CSS and JS. https://asxp.io
  • Ruby 66.9%
  • HTML 23.5%
  • CSS 5.9%
  • JavaScript 2.7%
  • Nix 0.4%
  • Other 0.6%
Find a file
Sergei Poljanski 0cc3e1dece
All checks were successful
Build and Deploy to Production / test (push) Successful in 26s
Build and Deploy to Production / build (push) Successful in 1m11s
Build and Deploy to Production / deploy (push) Successful in 37s
bingo: add a reachability monitor for the status page
datacenterbingo gets a public page showing whether each datacenter's
network answers. The probing lives here, next to the schema and the
admin, since the public site only has a read-only role.

bin/monitor runs as a second container from the same image. Once a
minute it opens one TCP connection to every active target (a handshake
or a refusal both count as answered) and folds the results into
5-minute rows per datacenter, plus a per-bucket row for control hosts in
Russia, so a lost vantage point isn't mistaken for dark sites. Rows are
kept 30 days. Targets are managed at /admin/bingo/monitor; only hosts a
public source ties to that one site belong there.

Migration 017 also grants the new tables to the bingo role, so the
public site can read them without a storage redeploy.

Assisted-by: Claude:opus-5-5
2026-10-18 10:31:00 +04:00
.forgejo/workflows ci: set nix options through NIX_CONFIG 2026-10-18 09:34:44 +04:00
bin bingo: add a reachability monitor for the status page 2026-10-18 10:31:00 +04:00
db bingo: add a reachability monitor for the status page 2026-10-18 10:31:00 +04:00
lib bingo: add a reachability monitor for the status page 2026-10-18 10:31:00 +04:00
public invoices: self-contained payout addresses 2026-10-10 09:17:09 +04:00
test bingo: add a reachability monitor for the status page 2026-10-18 10:31:00 +04:00
views bingo: add a reachability monitor for the status page 2026-10-18 10:31:00 +04:00
.dockerignore tests: minitest + rack-test suite, bin/test with ephemeral Postgres 2026-07-02 17:32:14 +04:00
.env.example bingo: move the public site to the datacenterbingo repo 2026-10-12 03:52:30 +04:00
.gitignore ltc payments 2026-06-08 18:43:01 +03:00
asxpio.rb bingo: add a reachability monitor for the status page 2026-10-18 10:31:00 +04:00
CLAUDE.md bingo: add a reachability monitor for the status page 2026-10-18 10:31:00 +04:00
config.ru bingo: move the public site to the datacenterbingo repo 2026-10-12 03:52:30 +04:00
docker-compose.yml bingo: add a reachability monitor for the status page 2026-10-18 10:31:00 +04:00
Dockerfile bingo: SEO pass and resized photos 2026-10-10 06:26:03 +04:00
flake.lock ruby rework with contact form 2026-05-05 00:45:27 +04:00
flake.nix gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
Gemfile tests: minitest + rack-test suite, bin/test with ephemeral Postgres 2026-07-02 17:32:14 +04:00
Gemfile.lock tests: minitest + rack-test suite, bin/test with ephemeral Postgres 2026-07-02 17:32:14 +04:00
Rakefile tests: minitest + rack-test suite, bin/test with ephemeral Postgres 2026-07-02 17:32:14 +04:00