gitwal

visibilitypublic1 push token
index matchwarma generation matches the index
write-ahead log10 entries793.5 KiB
fleet2 healthynodes/{id}.json within 90s
read leases01 generation
git procs32/32free on this node

index sync

S3 · source of truth index.json "fa12c893fb4e1acd8… matches node · i-0f5937a0dcfc2dbb2 cache etag "fa12c893fb4e1acd8…
remote:

in sync — upload-pack may be served from this node

remote:

no checkpoint: a rebuild replays the whole log

cache generations

remote:

Each generation is an immutable directory. Readers lease one for the life of a git subprocess, so warm fetches run concurrently instead of queueing on the writer lock. A retired generation is deleted when its last lease drops; eviction never removes a leased one.

generationstateread leasespacks
gitwal.git.g1current0821.6 KiB

refs

refoid
refs/heads/maind289bf3cb9d9HEAD

wal entries

01m0hrev8t5y44tj0evpq32kkm 136.5 KiB 2026-08-21T08:54:32Z
refs/heads/main 000000000000bd1ce6c2c844
sha256 cc11b1df256ccf5f9f8ef1ee08cd9fb16bb9a93b6f164f9b5e5bf1c3b4d7e8fc
01m0ht5esyb3wgs1wcydd91krb 6.6 KiB 2026-08-21T09:24:22Z
refs/heads/main bd1ce6c2c844183b4e10660f
sha256 4bc440159da692e179e12552bd255e0f25a299fb94f363e41cb50f67caac1987
01m0hty6whe72edanb5yndh7y5 13.3 KiB 2026-08-21T09:37:53Z
refs/heads/main 183b4e10660f4fbfc3af63e0
sha256 f2e6a2ed1f04d4864b7f64e3150b199c81e1966f1e0565c1a9431a4864853f00
01m0hv8r0s2mmq7mhjeb7jkj53 3.5 KiB 2026-08-21T09:43:38Z
refs/heads/main 4fbfc3af63e05f1217c29c80
sha256 2fb7df014b90056b028774f0a4fe293db9ca2a0af6fcd33fdb87a0567f663f3d
01m0hvt2dfv0j46wfgt2p2xb15 2.6 KiB 2026-08-21T09:53:06Z
refs/heads/main 5f1217c29c80c90791882e9b
sha256 614c221377f8d8fa41fbb8e733914f9f67476e57461005e5cf25c7d5e1a6299a
01m0hwkd0sdk038m9jaeytq8yb 3.6 KiB 2026-08-21T10:06:56Z
refs/heads/main c90791882e9b9cab43f34c31
sha256 10642ec667e6e3a23ec6f96614d8054b8f5f983d5dce70e8849640ab69afe3db
01m0hwmt4k2vhbzr77q4qkdgpd 1.4 KiB 2026-08-21T10:07:42Z
refs/heads/main 9cab43f34c314d2cb2e443af
sha256 945e4733c8f2c1436754aae26e6761f3a35597637a6f79334a3110c304aba651
01m0hz2h8z9jtq2kwdkk9zamzd 431.1 KiB 2026-08-21T10:50:09Z
refs/heads/main 4d2cb2e443af2776ddb1adc2
sha256 9dcf7d683d2073e651c853f54b25f6fe87f62b860c3eec3db6e29cb3d71e5078
01m0j22sxsm6tad64w8vj86xzn 186.6 KiB 2026-08-21T11:42:44Z
refs/heads/main 2776ddb1adc2582e52d45727
sha256 049d27b1480406fb2135fd4071d9d59b842e492161fa6d1a99558766d9569c25
01m0j2vj1a7h0dtxc0p84p3qhw 8.4 KiB 2026-08-21T11:56:15Z
refs/heads/main 582e52d45727d289bf3cb9d9
sha256 e66dbab7bba2caad0dc8d6803ce52826f1179ecc48ae363af80b5ac41e357e15

ref history

remote:

updates of refs/heads/main — ?ref=<name> selects another ref

entryupdatepushed
01m0hrev8t5y44tj0evpq32kkm000000000000bd1ce6c2c8442026-08-21T08:54:32Z
01m0ht5esyb3wgs1wcydd91krbbd1ce6c2c844183b4e10660f2026-08-21T09:24:22Z
01m0hty6whe72edanb5yndh7y5183b4e10660f4fbfc3af63e02026-08-21T09:37:53Z
01m0hv8r0s2mmq7mhjeb7jkj534fbfc3af63e05f1217c29c802026-08-21T09:43:38Z
01m0hvt2dfv0j46wfgt2p2xb155f1217c29c80c90791882e9b2026-08-21T09:53:06Z
01m0hwkd0sdk038m9jaeytq8ybc90791882e9b9cab43f34c312026-08-21T10:06:56Z
01m0hwmt4k2vhbzr77q4qkdgpd9cab43f34c314d2cb2e443af2026-08-21T10:07:42Z
01m0hz2h8z9jtq2kwdkk9zamzd4d2cb2e443af2776ddb1adc22026-08-21T10:50:09Z
01m0j22sxsm6tad64w8vj86xzn2776ddb1adc2582e52d457272026-08-21T11:42:44Z
01m0j2vj1a7h0dtxc0p84p3qhw582e52d45727d289bf3cb9d92026-08-21T11:56:15Z

fleet

remote:

Processes that have overwritten nodes/{id}.json within 90 seconds. This is the fleet, not per-repository cache presence. narwal does not query EC2, the ASG, or the ELB.

remote:

The preferred chip is rendezvous::rank for this repository. Any node still accepts a push.

remote:

desired replicas 1: a publish fans prewarm out to the top-ranked peers, and gossips the new index etag to the rest. Both are hints; S3 stays the judge of freshness.

ranknodehostnamelistenseen
1i-0924f56fa051b78f3 preferred prewarmip-172-31-33-231.ec2.internal0.0.0.0:80802026-08-25T18:23:38Z
2i-0f5937a0dcfc2dbb2ip-172-31-14-169.ec2.internal0.0.0.0:80802026-08-25T18:23:29Z

nodes

remote:

A node appears here after it has warmed a cache for this name, and drops off once its presence record goes stale. Presence is a hint, not authority. S3 is.

nodeindexcacheindex etagseen
i-0924f56fa051b78f3in sync821.5 KiB"fa12c893fb4e1acd8…2026-08-25T18:22:41Z
i-0f5937a0dcfc2dbb2 servingin sync821.6 KiB"fa12c893fb4e1acd8…2026-08-25T18:23:37Z

infrastructure

claimed2026-08-21T08:54:32Z
storageaws s3
wal bucketgitwal-wal-20260821055107353400000002
regionus-east-1
public urlhttps://gitwal.io
serving nodei-0f5937a0dcfc2dbb2
git procs32 free of 32
cache evictionidle 1800s, disk 90%/80%
remote:

A saturated git budget refuses a transfer with a retryable busy rather than queueing it. Eviction removes a repository only when no writer holds it, no lease points at any generation, and it has been idle past the interval.

remote:

narwal does not query the EC2, autoscaling, or load balancer APIs. Instance and target health belong to the ALB and the ASG; this page reports only what the host itself can observe.


remote:

repository · json · gitwal · AGENTS.md