Commit Graph

  • cdc62a703a fix(node): reject unsupported git service before the read slot; document the new admission knobs (#174) beardthelion 2026-07-15 13:16:40 -05:00
  • 394768711e fix(node): bound the post-push encryption task set by per-repo coalescing without dropping recovery copies (#174) t 2026-07-15 13:10:04 -05:00
  • 98ebb47216 fix(node): bound the post-push encryption task set by per-repo coalescing without dropping recovery copies (#174) beardthelion 2026-07-15 13:10:04 -05:00
  • f424ccbbcd fix(node): gate the /ipfs walk with bounded concurrency admission + per-source cap + route rate limit (#174) t 2026-07-15 12:42:55 -05:00
  • 7c23a66da9 fix(node): gate the /ipfs walk with bounded concurrency admission + per-source cap + route rate limit (#174) beardthelion 2026-07-15 12:42:55 -05:00
  • 8d17038e5b fix(node): bound the served-git storage-acquisition phase with a release-on-expiry deadline (#174) t 2026-07-15 12:00:02 -05:00
  • 90bd9a6270 fix(node): bound the served-git storage-acquisition phase with a release-on-expiry deadline (#174) beardthelion 2026-07-15 12:00:02 -05:00
  • 72e899dae0 fix(node): hold served-git admission until the process group is reaped on the plain spawn paths (#174) t 2026-07-15 11:33:20 -05:00
  • d5de423393 fix(node): hold served-git admission until the process group is reaped on the plain spawn paths (#174) beardthelion 2026-07-15 11:33:20 -05:00
  • dd62b4bec1 fix(node): publish the identity key atomically and wait a real deadline beardthelion 2026-07-14 23:18:51 -05:00
  • cdb102efbd style(node): cargo fmt for the #196 fix set beardthelion 2026-07-14 22:27:00 -05:00
  • bfbe5026ba test(node): exercise the dry-run guard with a real on-disk candidate present beardthelion 2026-07-14 22:26:29 -05:00
  • 63254029e5 docs(node): document GITLAWB_IPFS_API/TIGRIS_BUCKET/METRICS_ADDR/SHUTDOWN_GRACE_SECS in .env.example beardthelion 2026-07-14 22:23:31 -05:00
  • d9eebd29c9 fix(node): warn on unparseable rate-limit env vars instead of silently defaulting beardthelion 2026-07-14 22:22:32 -05:00
  • 1fcca0d433 fix(node): count purge-spam disk-removal failures separately from deletes beardthelion 2026-07-14 22:20:09 -05:00
  • 15522d5616 fix(node): hold the per-repo advisory lock across purge recheck+delete beardthelion 2026-07-14 22:14:15 -05:00
  • fde9cfe287 fix(node): reap write_rate_limiter in the periodic cleanup loop beardthelion 2026-07-14 22:03:49 -05:00
  • a0fcbb0813 fix(node): delete child rows transactionally in delete_repo_by_id beardthelion 2026-07-14 21:58:31 -05:00
  • 01354199d0 fix(node): reject path-traversal repo names in purge-spam before remove_dir_all beardthelion 2026-07-14 21:53:23 -05:00
  • 5749df6e67 test(node): INV-22 completeness guard for the served-git concurrency surface (#174) t 2026-07-14 20:33:01 -05:00
  • ca7a7074dd test(node): INV-22 completeness guard for the served-git concurrency surface (#174) beardthelion 2026-07-14 20:33:01 -05:00
  • 2a54c159e6 fix(node): bound concurrent post-push encryption walks with an admission pool (#174) t 2026-07-14 20:28:52 -05:00
  • 68043f5844 fix(node): bound concurrent post-push encryption walks with an admission pool (#174) beardthelion 2026-07-14 20:28:52 -05:00
  • 12643573f6 fix(node): cap concurrent receive-pack pushes per source IP (#174) t 2026-07-14 20:20:49 -05:00
  • f592378bdc fix(node): cap concurrent receive-pack pushes per source IP (#174) beardthelion 2026-07-14 20:20:49 -05:00
  • be0cdd6a9e fix(node): hold upload-pack admission through the walk on disconnect (#174) t 2026-07-14 20:09:40 -05:00
  • 0c767d1585 fix(node): hold upload-pack admission through the walk on disconnect (#174) beardthelion 2026-07-14 20:09:40 -05:00
  • ac59bd7e01 fix(node): reap the served-git process group on disconnect, not just SIGTERM (#174) t 2026-07-14 19:50:41 -05:00
  • b900151468 fix(node): reap the served-git process group on disconnect, not just SIGTERM (#174) beardthelion 2026-07-14 19:50:41 -05:00
  • 3cc01890fb fix(node): keep the visibility-walk watchdog armed until the child is reaped (#174) t 2026-07-14 19:27:12 -05:00
  • dd3672ef0e fix(node): keep the visibility-walk watchdog armed until the child is reaped (#174) beardthelion 2026-07-14 19:27:12 -05:00
  • 9f88dc0bf3 fix(node): remove a failed first-write key file; verify key mode after tightening (#194) beardthelion 2026-07-13 20:25:12 -05:00
  • a030eefb70 test(node): retry the ETXTBSY exec race in build_filtered_pack timeout tests (#174) t 2026-07-13 16:01:49 -05:00
  • ec201effb6 test(node): retry the ETXTBSY exec race in build_filtered_pack timeout tests (#174) beardthelion 2026-07-13 16:01:49 -05:00
  • dfd4f6c3d6 test(review): close the reasoned-not-run gaps by execution beardthelion 2026-07-13 15:23:19 -05:00
  • 090019deb7 fix(review): normalization-consistent purge, brake helper, CLI + coverage beardthelion 2026-07-13 15:03:41 -05:00
  • 285d7c7f7a fix(review): make purge-spam empty-check reject git-discovery reads beardthelion 2026-07-13 14:47:07 -05:00
  • e6324d20df feat(node): purge-spam admin subcommand for the empty-burst cleanup beardthelion 2026-07-13 14:28:45 -05:00
  • 6fded6ef65 test(node): adversarial TrustedProxy verification through the write brake beardthelion 2026-07-13 14:14:15 -05:00
  • 74e05be7f7 feat(node): extend the per-IP write brake to the remaining write sinks beardthelion 2026-07-13 14:11:38 -05:00
  • 34df1fddc8 feat(node): add per-IP write-surface rate brake and apply to write_routes beardthelion 2026-07-13 13:45:11 -05:00
  • cf97405bc1 test(node): execution-cover the delta-path push-scan timeout wiring (#174) t 2026-07-13 10:55:57 -05:00
  • 7671df98c7 test(node): execution-cover the delta-path push-scan timeout wiring (#174) beardthelion 2026-07-13 10:55:57 -05:00
  • 4410b834df docs(node): correct concurrency + timeout docs to match the final git routing (#174) t 2026-07-13 10:46:24 -05:00
  • 1e1058ca29 docs(node): correct concurrency + timeout docs to match the final git routing (#174) beardthelion 2026-07-13 10:46:24 -05:00
  • 9412aa9c5b fix(node): bound and reap push-candidate git children under the write permit (#174) t 2026-07-13 10:34:44 -05:00
  • 5aa37a17a0 fix(node): bound and reap push-candidate git children under the write permit (#174) beardthelion 2026-07-13 10:34:44 -05:00
  • 7a6bd359eb fix(node): SIGKILL a SIGTERM-ignoring member of the visibility-walk process group (#174) t 2026-07-13 10:11:41 -05:00
  • 39fab32e91 fix(node): SIGKILL a SIGTERM-ignoring member of the visibility-walk process group (#174) beardthelion 2026-07-13 10:11:41 -05:00
  • 473924dcfe fix(node): compile the bounded visibility git runner on non-Unix targets (#174) t 2026-07-13 09:49:33 -05:00
  • 4f2a36fcb4 fix(node): compile the bounded visibility git runner on non-Unix targets (#174) beardthelion 2026-07-13 09:49:33 -05:00
  • f19f2813a2 fix(node): give the receive-pack advert its own pool so it can't shed authed pushes (#174) t 2026-07-13 09:44:53 -05:00
  • c5d19df8d6 fix(node): give the receive-pack advert its own pool so it can't shed authed pushes (#174) beardthelion 2026-07-13 09:44:53 -05:00
  • 26421e7a39 Address PR review feedback (#194) beardthelion 2026-07-12 22:27:07 -05:00
  • febe42c14d style(node): cargo fmt the deny-harness sources beardthelion 2026-07-12 17:48:48 -05:00
  • 9d8cec399a test(node): full-stack owner-gate deny cases for 5 high-value mutations beardthelion 2026-07-12 17:44:48 -05:00
  • 29b9918ec6 test(node): cover the deny-assertion guard branches (U4) beardthelion 2026-07-12 17:33:39 -05:00
  • 4d21cdb8e2 ci(node): run the real-node deny harness on every PR beardthelion 2026-07-12 17:17:36 -05:00
  • 22a584a290 test(node): INV-2 replication-path deny case over git-upload-pack (U8) beardthelion 2026-07-12 17:01:03 -05:00
  • 13653f55aa test(node): INV-2 read + content-addressed withhold deny cases (U5b, U7) beardthelion 2026-07-12 16:35:29 -05:00
  • 52b8714e64 test(node): INV-1 owner-gate deny case over the real stack (U6) beardthelion 2026-07-12 16:26:19 -05:00
  • f656d4859a test(node): real-node deny harness rig + INV-8 unsigned-push case (U2-U4, U5a) beardthelion 2026-07-12 16:09:44 -05:00
  • e9cc86748d refactor(node): split gitlawb-node into lib+bin so integration tests can spawn a real node beardthelion 2026-07-12 15:54:55 -05:00
  • 79b9ee5c89 fix(node): shed the served-git pool before the DB and cap per-source before it (#174) t 2026-07-12 14:32:24 -05:00
  • e4c14ccd01 fix(node): shed the served-git pool before the DB and cap per-source before it (#174) beardthelion 2026-07-12 14:32:24 -05:00
  • 454e59ba53 docs(node): the withheld-walk is bounded by the service timeout, not a fixed const (#174) t 2026-07-12 02:12:37 -05:00
  • a4beba2eea docs(node): the withheld-walk is bounded by the service timeout, not a fixed const (#174) beardthelion 2026-07-12 02:12:37 -05:00
  • c35452ed41 test(node): vet the withheld-walk bound end to end; use the configured timeout (#174) t 2026-07-12 02:12:08 -05:00
  • b2939ad990 test(node): vet the withheld-walk bound end to end; use the configured timeout (#174) beardthelion 2026-07-12 02:12:08 -05:00
  • e750c3042d fix(review): cap the receive-pack advertisement per source so anon cannot starve the write pool (#174) t 2026-07-12 00:56:24 -05:00
  • 6c7bbaa193 fix(review): cap the receive-pack advertisement per source so anon cannot starve the write pool (#174) beardthelion 2026-07-12 00:56:24 -05:00
  • 87a7e40513 fix(review): close the withheld-walk watchdog reused-pgid race (#174) t 2026-07-12 00:36:42 -05:00
  • 39e1f12255 fix(review): close the withheld-walk watchdog reused-pgid race (#174) beardthelion 2026-07-12 00:36:42 -05:00
  • ab0ea240fc docs(node): correct the git-service-timeout coverage note (#174) t 2026-07-12 00:20:07 -05:00
  • 87b6d2d498 docs(node): correct the git-service-timeout coverage note (#174) beardthelion 2026-07-12 00:20:07 -05:00
  • 71389e621a fix(node): bound the withheld-blob walk at the shared blob_paths seam (#174) t 2026-07-12 00:14:39 -05:00
  • 5204502678 fix(node): bound the withheld-blob walk at the shared blob_paths seam (#174) beardthelion 2026-07-12 00:14:39 -05:00
  • e444bc0ae5 fix(node): draw the receive-pack advertisement from the write pool (#174) t 2026-07-11 23:54:21 -05:00
  • d0f96684ed fix(node): draw the receive-pack advertisement from the write pool (#174) beardthelion 2026-07-11 23:54:21 -05:00
  • 4983b854d1 fix(node): key the per-caller read cap on source IP, not the signed DID (#174) t 2026-07-11 23:44:13 -05:00
  • 45408309f8 fix(node): key the per-caller read cap on source IP, not the signed DID (#174) beardthelion 2026-07-11 23:44:13 -05:00
  • 362ee3462e fix(node,git): bound the rev-list stage under drive_git_child so a hung enumeration can't pin a git permit (#174) t 2026-07-11 13:02:24 -05:00
  • 8816684c71 fix(node,git): bound the rev-list stage under drive_git_child so a hung enumeration can't pin a git permit (#174) beardthelion 2026-07-11 13:02:24 -05:00
  • 3b1fa54b73 docs(config): add GITLAWB_MAX_CONCURRENT_GIT_OPS to .env.example (#174) t 2026-07-10 16:05:29 -05:00
  • 6176fbb697 docs(config): add GITLAWB_MAX_CONCURRENT_GIT_OPS to .env.example (#174) beardthelion 2026-07-10 16:05:29 -05:00
  • 5069cd13ca fix(node,concurrency): resolve #174 code-review findings t 2026-07-10 13:45:38 -05:00
  • 08fb3a02df fix(node,concurrency): resolve #174 code-review findings beardthelion 2026-07-10 13:45:38 -05:00
  • 6336657efc docs(node,config): reconcile the concurrency-cap comments with the fix (#62) t 2026-07-10 13:20:18 -05:00
  • b519251e00 docs(node,config): reconcile the concurrency-cap comments with the fix (#62) beardthelion 2026-07-10 13:20:18 -05:00
  • 57c6e01c26 fix(node,git): bound and reap the withheld-blob pack build (#62) t 2026-07-10 13:16:41 -05:00
  • 0fdaaef3f7 fix(node,git): bound and reap the withheld-blob pack build (#62) beardthelion 2026-07-10 13:16:41 -05:00
  • 2c264e08e3 fix(node,git): bound and reap the info/refs advertisement (#62) t 2026-07-10 13:09:34 -05:00
  • 9ca626e415 fix(node,git): bound and reap the info/refs advertisement (#62) beardthelion 2026-07-10 13:09:34 -05:00
  • fc4c206c3a fix(node,git): per-caller concurrency sub-cap on the read pool (#62) t 2026-07-10 12:50:46 -05:00
  • 222fb570a3 fix(node,git): per-caller concurrency sub-cap on the read pool (#62) beardthelion 2026-07-10 12:50:46 -05:00
  • 2434dde42f fix(node,git): isolate authed pushes in a dedicated write pool (#62) t 2026-07-10 12:29:30 -05:00
  • c97fe3a551 fix(node,git): isolate authed pushes in a dedicated write pool (#62) beardthelion 2026-07-10 12:29:30 -05:00
  • db4de844ad feat(node,config): add write-pool and per-caller read-cap knobs (#62) t 2026-07-10 12:18:07 -05:00
  • 2c6cef6ad0 feat(node,config): add write-pool and per-caller read-cap knobs (#62) beardthelion 2026-07-10 12:18:07 -05:00
  • 65ba1374af feat(node,git): cap concurrent served git ops with a 503 load-shed (#62) t 2026-07-09 21:43:38 -05:00