gitwally

visibilitypublic1 push token
index matchcoldnext fetch builds one
write-ahead log2 entries1.0 MiB
fleet2 healthynodes/{id}.json within 90s
read leases01 generation
git procs32/32free on this node

index sync

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

out of sync — the next fetch rebuilds the cache from the log before serving

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
gitwally.gitcurrent00 B

refs

refoid
refs/heads/main97d7c1f347e5HEAD
refs/meta/main874c1521b0a8

wal entries

01m0sb1dmpp9gjs4dkrsmk4ye5 1.0 MiB 2026-08-24T07:33:57Z
refs/heads/main 000000000000 → 97d7c1f347e5
sha256 43710a7916d92fcb2094b4edf84f522644c12c39a02521f53c14c155157a3bf3
01m0vmr18rye78fzn4kwcfbe80 11.3 KiB 2026-08-25T05:02:04Z
refs/meta/main 000000000000 → 874c1521b0a8
sha256 39f41a4feab3b3bd2ddfa16ec40c8aab1b682486c61457e9afe4ca5985f6fb75

ref history

remote:

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

entryupdatepushed
01m0sb1dmpp9gjs4dkrsmk4ye5000000000000 → 97d7c1f347e52026-08-24T07:33:57Z

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
2i-0924f56fa051b78f3ip-172-31-33-231.ec2.internal0.0.0.0:80802026-10-13T04:02:41Z
1i-0f5937a0dcfc2dbb2 preferredip-172-31-14-169.ec2.internal0.0.0.0:80802026-10-13T04:02:38Z

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-0f5937a0dcfc2dbb2 servingin sync0 B"0a7aec3d392fd4712…2026-10-13T04:02:42Z

infrastructure

claimed2026-08-24T07:33:56Z
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