Commit graph

  • 90f9a3d104
    nix: set up Nix VM tests main NotAShelf 2026-04-05 18:37:19 +03:00
  • 00bbf5608c
    various: remove unused prober field; change expiration to 30s by default NotAShelf 2026-04-05 15:58:32 +03:00
  • 2d2c49bbe7
    nix: bump nixpkgs NotAShelf 2026-04-05 15:41:11 +03:00
  • 0737713613
    nix: use the better config flag in the NixOS module NotAShelf 2026-04-05 15:40:48 +03:00
  • 5f51cc3d7b
    nix: fix vendor hash; add maintainers to meta NotAShelf 2026-04-05 15:14:27 +03:00
  • 76bf870994
    server: update tests to use proper AddUpstream API NotAShelf 2026-04-05 15:13:50 +03:00
  • a7bc821b73
    prober: update tests to use proper AddUpstream API NotAShelf 2026-04-05 15:12:36 +03:00
  • 8181b9f958
    cmd: fix discovery context lifecycle on shutdown NotAShelf 2026-04-05 15:12:29 +03:00
  • 81ccde99d9
    server: update tests to use proper AddUpstream API NotAShelf 2026-04-05 15:12:20 +03:00
  • d0240f30a6
    prober: prevent removed upstreams from being resurrected NotAShelf 2026-04-05 15:12:13 +03:00
  • 0f62641d23
    discovery: prevent double-close panic; fix IPv6 URLs & expiration guard NotAShelf 2026-03-27 21:43:37 +03:00
  • 5fc3b2883b
    "discovery: mDNS/DNS-SD peer discovery; dynamic upstream management" NotAShelf 2026-03-27 20:03:37 +03:00
  • 7aee098f1c
    flake: bump inputs NotAShelf 2026-03-06 23:36:59 +03:00
  • 2626cba348
    nix:inject version into binary via ldflags NotAShelf 2026-03-06 23:36:59 +03:00
  • 7765fea445
    ncro: split into main.go entrypoint and root.go command; inject version via ldflags NotAShelf 2026-03-06 23:22:45 +03:00
  • 578e0b2d5e
    nix: update vendorHash for cobra/viper deps NotAShelf 2026-03-06 23:22:45 +03:00
  • 5da43e2937
    ncro: migrate CLI to cobra/viper NotAShelf 2026-03-06 23:22:45 +03:00
  • 2aaf84e425
    prober: fix unstable sort when latency within 10% and priorities equal NotAShelf 2026-03-06 23:22:45 +03:00
  • 64e18cbab5
    cache: create parent directory before opening SQLite database NotAShelf 2026-03-06 22:47:45 +03:00
  • 20029edd1c
    nix: initiate NixOS module; add ncro to packages output NotAShelf 2026-03-06 22:44:41 +03:00
  • a35b3216ec
    config: add server.cache_priority for configurable /nix-cache-info Priority NotAShelf 2026-03-06 22:42:57 +03:00
  • a45ee57da7
    server: use uppercase per-upstream status in /health; verify in tests NotAShelf 2026-03-06 22:37:27 +03:00
  • 985ed1090a
    server: enrich /health with per-upstream status and latency NotAShelf 2026-03-06 22:26:40 +03:00
  • f89a3e61cd
    prober: fix data race in TestPersistenceCallbackFired NotAShelf 2026-03-06 22:24:19 +03:00
  • d599ef02a7
    prober: persist health across restarts via callback; seed from DB on startup NotAShelf 2026-03-06 22:20:58 +03:00
  • 049e4202dd
    server: check errors in TestNARRoutingUsesCache NotAShelf 2026-03-06 22:11:59 +03:00
  • 118eda08a1
    server: route NAR requests via route cache; extract tryNARUpstream helper NotAShelf 2026-03-06 22:08:46 +03:00
  • ded9b6d464
    cache: include nar_url in ListRecentRoutes; test expired TTL in GetRouteByNarURL NotAShelf 2026-03-06 22:00:29 +03:00
  • 2ae611b916
    cache: store narinfo URL for direct NAR routing NotAShelf 2026-03-06 21:43:58 +03:00
  • 8f949215bb
    cache: test IsNegative SQL time predicate independently of ExpireNegatives NotAShelf 2026-03-06 21:37:34 +03:00
  • b0ea022dc2
    cache: add negative cache; router: skip race for cached 404s NotAShelf 2026-03-06 21:30:24 +03:00
  • f100342720
    router: remove unused getCount from TestSingleflightDedup NotAShelf 2026-03-06 21:23:16 +03:00
  • 41b18dd1f8
    router: add singleflight deduplication for concurrent narinfo races NotAShelf 2026-03-06 19:44:24 +03:00
  • e567491856
    mesh: remove unused MsgSyncRequest/MsgSyncReply types NotAShelf 2026-03-06 18:36:02 +03:00
  • 4b2c863bc1
    docs: update mesh section to reflect peer key verification NotAShelf 2026-03-06 18:34:49 +03:00
  • de100ee611
    tests: add signature verification tests for narinfo, mesh, and config NotAShelf 2026-03-06 18:34:04 +03:00
  • f4804d2150
    ncro: wire narinfo signing, mesh peer keys, and RouteEntries gauge NotAShelf 2026-03-06 18:28:53 +03:00
  • df92c9a4a3
    router: verify narinfo signatures against configured upstream keys NotAShelf 2026-03-06 18:24:47 +03:00
  • d2e6f95140
    mesh: verify sender key and ed25519 signature on every incoming packet NotAShelf 2026-03-06 18:24:23 +03:00
  • a8106a6c5e
    config: add PeerConfig; validate upstream and peer public keys NotAShelf 2026-03-06 18:24:16 +03:00
  • 2da17e456f
    narinfo: add Nix signature verification (ParsePublicKey, Fingerprint, Verify) NotAShelf 2026-03-06 18:01:30 +03:00
  • d290bcf4ad
    mesh: implement UDP gossip transport; wire mesh comms into main NotAShelf 2026-03-06 17:45:29 +03:00
  • 91ffc0eadd
    tests: add edge cases for server, router, cache, and prober priority NotAShelf 2026-03-06 17:43:31 +03:00
  • 02e7065171
    ncro: call Validate() in main; wire metrics, priority, and mesh stub NotAShelf 2026-03-06 17:39:14 +03:00
  • 8da709dc98
    prober: add Priority field; honour it in latency-sorted order NotAShelf 2026-03-06 17:38:58 +03:00
  • d055799f3d
    config: add Validate() with startup checks NotAShelf 2026-03-06 17:38:52 +03:00
  • f504f3114f
    server: fix NAR fallback; distinguish 404 vs 502; add /metrics endpoint NotAShelf 2026-03-06 17:38:36 +03:00
  • 35b8fb2672
    router: fix silent error in race; add sentinel errors; populate NarHash/NarSize NotAShelf 2026-03-06 17:38:25 +03:00
  • efca8dff6c
    metrics: add Prometheus metrics NotAShelf 2026-03-06 17:37:55 +03:00
  • a4f4410e5b
    narinfo: implement parser :D NotAShelf 2026-03-06 17:02:05 +03:00
  • 2a0c30f953
    server: integration tests for route reuse and upstream fallback NotAShelf 2026-03-06 17:00:38 +03:00
  • e21f186ced
    nix: init package at 0.1.0 NotAShelf 2026-03-06 16:41:01 +03:00
  • 605923a94a
    mesh: init ed25519-signed gossip layer; conflict-resolving route store NotAShelf 2026-03-06 00:34:40 +03:00
  • ee6c2d6368
    ncro: wire all components; handle shutdown more gracefully NotAShelf 2026-03-06 00:33:21 +03:00
  • 3a80551898
    server: implement Nix binary cache HTTP handler with zero-copy NAR streaming NotAShelf 2026-03-06 00:29:36 +03:00
  • 65ddeb48f6
    prober: latency EMA tracking and upstream health monitoring NotAShelf 2026-03-06 00:18:13 +03:00
  • 6432b2bc5a
    nix: add more formatters NotAShelf 2026-03-06 00:08:45 +03:00
  • 663f9995b2
    cache: add SQLite route persistence; initial TTL and LRU eviction implementation NotAShelf 2026-03-05 23:58:11 +03:00
  • 9f264fbef1
    config: add Duration test coverage and fix error wrapping NotAShelf 2026-03-05 23:49:11 +03:00
  • 4f8d1c64d2
    config: initial loading & env overrides NotAShelf 2026-03-05 23:36:44 +03:00
  • 356aa999af
    initial commit NotAShelf 2026-03-05 22:45:41 +03:00