2152395f36
Merge pull request 'deploy' (#149) from main into prod
prod
sneak2026-10-22 18:52:21 +02:00
20a29e389d
Merge pull request 'next into main' (#87) from next into main
main
sneak2026-10-22 18:25:14 +02:00
71ee2aeda7
Log the start-up checkpoint's figures under their own names (closes#117)
next
clawbot2026-10-20 04:32:08 +02:00
8d16bf9ea6
Add the Rationale section to README (closes#121)
clawbot2026-10-20 04:24:41 +02:00
651a9e22f6
Treat a path with AS 0 anywhere as a withdrawal (closes#141)
clawbot2026-10-20 04:07:41 +02:00
9280e2eb2c
Keep the database files, logs and binaries out of the build context (closes#120)
clawbot2026-10-20 03:58:56 +02:00
100689a4fb
Keep prefixes that do not parse out of the prefix tables (closes#114)
clawbot2026-10-20 03:51:10 +02:00
e13240cb04
Show the MIT licence in the page footers (closes#119)
clawbot2026-10-20 03:46:44 +02:00
55ecb22846
Bound the WHOIS fetcher's success and error time lists (closes#118)
clawbot2026-10-20 03:38:51 +02:00
bae5a14d76
Reset the peering handler's dropped_paths figure after each log line (closes#116)
clawbot2026-10-20 03:28:06 +02:00
467c295f94
Handle an announcement without an origin like a replacement (closes#113)
clawbot2026-10-20 03:25:41 +02:00
2f238236bd
Read the drop counter atomically and set the WHOIS fetcher before serving (closes#115)
clawbot2026-10-20 03:18:00 +02:00
f489321e3a
Answer HEAD requests and give 405 a plain message (closes#111)
clawbot2026-10-20 03:06:23 +02:00
444457bcf8
Store a new row's earliest timestamp as first_seen (closes#112)
clawbot2026-10-20 02:59:17 +02:00
c4dadd1477
Leave SIGINT and SIGTERM to fx (closes#131)
clawbot2026-10-20 02:34:04 +02:00
c7f2e5db1d
Bound the IP lookup's address list and name lookups (closes#110)
clawbot2026-10-20 02:23:49 +02:00
09d3073fa5
Bound each shutdown stage by the stop deadline (closes#100)
clawbot2026-10-20 02:15:10 +02:00
237f73fc49
Answer 500, not 404, when the IP lookup cannot read the database (closes#109)
clawbot2026-10-20 01:49:34 +02:00
89bdda18a5
Add the HTTP hardening the policy requires before 1.0 (closes#108)
clawbot2026-10-20 01:36:18 +02:00
76c2e523b5
Checkpoint without waiting on readers and log a busy checkpoint (closes#102)
clawbot2026-10-20 01:06:51 +02:00
28f60500cb
Read the AS page from bounded lookups (closes#104)
clawbot2026-10-20 00:52:32 +02:00
69d477159c
Cap WHOIS answers and follow referrals only to WHOIS servers (closes#106)
clawbot2026-10-20 00:15:14 +02:00
abdc327c4c
Retry a WHOIS lookup that failed instead of storing it as complete (closes#105)
clawbot2026-10-20 00:02:34 +02:00
a173f4d159
Keep a peer-down until its route delete succeeds (closes#101)
clawbot2026-10-19 23:39:28 +02:00
176f9708b8
Build and test with a supported Go release (closes#107)
clawbot2026-10-19 23:19:21 +02:00
d2a6e30360
Percent-decode URL parameters before parsing them (closes#103)
clawbot2026-10-19 23:02:00 +02:00
ef32082339
Bring README and TODO.md up to date with the code (closes#72)
clawbot2026-10-19 16:09:22 +02:00
d84dd56460
Make live route writes cheaper so the prefix handler keeps up (closes#96)
clawbot2026-10-19 15:43:38 +02:00
5806ddaef7
Run database maintenance under the database lock (closes#94)
clawbot2026-10-19 13:26:36 +02:00
28df9f8d49
Drain the handler queues before stopping the handlers on shutdown (closes#69)
clawbot2026-10-19 13:08:48 +02:00
2712183f21
Keep a trailing AS set out of the origin and the peerings (closes#75)
clawbot2026-10-19 12:50:05 +02:00
8742f1b44d
Let bgp_peer_count drop to 0 (closes#92)
clawbot2026-10-19 12:41:15 +02:00
3667d09800
Count every peer the feed has heard from in bgp_peer_count (closes#74)
clawbot2026-10-19 12:24:49 +02:00
b89987e356
Re-vendor the shared files from sneak/prompts at 0653579 (closes#52)
clawbot2026-10-19 12:10:11 +02:00
4f515d718b
Read feed lines up to 1 MiB (closes#76)
clawbot2026-10-19 11:49:47 +02:00
825afa2ebe
Remove a peer's live routes when its session goes down (closes#56)
clawbot2026-10-19 11:40:31 +02:00
a0ddc0d254
Sample the prefix-length pages with bounded lookups, each prefix once (closes#66)
clawbot2026-10-19 10:29:01 +02:00
ae6d885a5a
Answer 504, not 408, when a request outlasts its time limit (closes#70)
clawbot2026-10-19 10:02:23 +02:00
43c61ee0d0
Write each handler batch from its flush goroutine, outside the mutex (closes#65)
clawbot2026-10-19 09:45:24 +02:00
f7c88c2496
Identify a live route by prefix and peer (closes#55)
clawbot2026-10-19 09:13:25 +02:00
e0b9c2685f
Reconnect when RIS Live ends or stalls the stream (closes#53)
clawbot2026-10-14 19:42:57 +02:00
ad4c3d91f1
Show the prefix page's origin names from the prefix query (closes#67)
clawbot2026-10-14 19:08:58 +02:00
b4dee48401
Exit with status 1 when the web server cannot listen (closes#73)
clawbot2026-10-14 18:26:04 +02:00
616f13071f
Parse the prefix on the prefix pages before looking it up (closes#71)
clawbot2026-10-14 17:24:02 +02:00
521c632087
Ignore routes shorter than /8 or /16 in the IP lookup (closes#57)
clawbot2026-10-14 17:23:51 +02:00
77a708d819
Apply each peer's last update for a prefix in a batch (closes#54)
clawbot2026-10-14 17:09:13 +02:00
a43935308e
Count every reconnect in reconnect_count (closes#68)
clawbot2026-10-14 15:59:15 +02:00
00e51d284f
Merge pull request 'Next milestone: production memory under 5 GiB, ready for upaas' (#6) from next into main
sneak2026-10-06 00:34:48 +02:00
a9b68608c6
Serve the /api/v1/stats prefix distribution from memory (closes#30)
clawbot2026-10-03 18:43:58 +02:00
44a5f4cdca
Create new databases with auto_vacuum incremental (closes#43)
clawbot2026-10-03 17:09:29 +02:00
32704c601e
Look up IP addresses by prefix at each mask length (closes#48)
clawbot2026-10-03 16:04:38 +02:00
7322f936e4
Stamp the git tag or short commit in a plain docker build (closes#46)
clawbot2026-10-02 08:17:35 +02:00
6422d9fa0c
Container makes its data directory usable itself (closes#42)
clawbot2026-09-29 12:23:42 +02:00