• Ruby 73.1%
  • HTML 24.4%
  • Nix 1%
  • Dockerfile 0.8%
  • Shell 0.7%
Find a file
Sergei Poljanski 1a5506c77d
All checks were successful
Build and Deploy to Production / test (push) Successful in 18s
Build and Deploy to Production / build (push) Successful in 49s
Build and Deploy to Production / deploy (push) Successful in 33s
Add a public reachability status page
asxpio now probes public hosts tied to each datacenter once a minute
and stores 5-minute rows (bingo_monitor_* tables, granted to the
read-only bingo role). Show them: /:locale/status lists every monitored
site with its current state and a 24-hour bar, /status.json has the
same data, and monitored datacenter pages get a small block.

A site is down only when nothing answered for two buckets. Everything
reads as unknown when the worker is stale or fewer than half of the
control hosts in Russia answer, since probes run from Finland and
filtering can look like an outage. The page says plainly that this is
not an incident record.

Refresh test/schema.sql for asxpio's migration 017.

Assisted-by: Claude:opus-5-5
2026-10-18 10:33:52 +04:00
.forgejo/workflows Set nix options through NIX_CONFIG in CI 2026-10-18 09:34:38 +04:00
assets Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
b/asxpio-invoices/bingo Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
bin Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
lib Add a public reachability status page 2026-10-18 10:33:52 +04:00
test Add a public reachability status page 2026-10-18 10:33:52 +04:00
views Add a public reachability status page 2026-10-18 10:33:52 +04:00
.dockerignore Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
.env.example Read photos from the datacenterbingo-photos bucket 2026-10-12 04:09:01 +04:00
.gitignore Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
app.rb Add a public reachability status page 2026-10-18 10:33:52 +04:00
CLAUDE.md Add a public reachability status page 2026-10-18 10:33:52 +04:00
config.ru Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
docker-compose.yml Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
Dockerfile Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
flake.lock Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
flake.nix Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
Gemfile Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
Gemfile.lock Lock with bundler 2.7.2 2026-10-12 03:49:56 +04:00
OSINT.md Rerun CI after the runner's nix image was pinned 2026-10-18 09:40:52 +04:00
Rakefile Initial import of the public datacenter bingo site 2026-10-12 03:48:06 +04:00
README.md Add RSS and JSON feeds of incidents and an open dataset 2026-10-12 05:31:26 +04:00

Datacenter Bingo

https://datacenterbingo.xyz: a 5×5 bingo card of Russia's largest datacenters. A cell is crossed out once a drone strike, fire or outage there is reported by a public source. Available in Ukrainian, English and Russian.

This repo is the public site (Ruby/Sinatra). Content is managed from a separate admin app that shares the database.

Data comes from open sources. It was collected and verified with the help of Claude (Anthropic). Part of the list came from the hackyourmom datacenter map (data by Cat Eyes OSINT), and each entry was re-verified.

Data

  • Incident feeds: /en/feed.xml (RSS) and /en/feed.json (JSON Feed). Swap en for ru or uk.
  • Full dataset: /data.json, licensed CC BY 4.0. Credit "Datacenter Bingo (datacenterbingo.xyz)"; the full attribution line is in the file.

Development: nix develop, then bin/test. See CLAUDE.md.