Deploy Now

Stars

376

Forks

18

Watchers

3

Developer links

Enroute

Git servers still think in folders on one machine's disk, and Enroute is the Git server rebuilt like a modern database: your repositories live as immutable layers in object storage, served by compute nodes you can add or replace at will. Point any Git client at it and push; the push creates the repository, gets indexed and validated without locks, and commits once its entry is replicated across the ledger nodes' disks, which is how a single repository absorbs thousands of pushes per second. Clones and fetches always read one consistent snapshot, so readers never block writers, and background layer merging replaces the git repack jobs you used to schedule. The programmable part is hooks: your own code decides who can read or write, which branches a client may see, whether a ref update is allowed, and what happens after a push, from running CI to mirroring elsewhere. A rich gRPC API lets applications create, inspect, and manage repositories programmatically, so you can build your own code-hosting product on top instead of forking a monolith. Start as one node with a local directory, then separate compute from ledger nodes and replicate across three machines without pushing a repository again. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache-2.0 licensed.

Enroute

Benefits

  • Repositories Live In Object Storage
  • Each repository is immutable layers in S3, GCS, Azure Blob, or a local directory, so storage is cheap and durable.
  • Pushes Commit Like Database Writes
  • Optimistic, lock-free push processing with a replicated per-repository log acknowledges small pushes once a majority of ledger replicas hold them, sustaining thousands of pushes per second.
  • Hooks Make It Programmable
  • Authentication, visibility, pre-receive, and post-receive hooks call your code during every Git transaction, so permissions, branch protection, CI, and mirroring are yours to define.
  • One Binary, No External Database
  • The same binary runs a single node, separate compute nodes behind a load balancer, or a three-ledger cluster, with no external database and no maintenance jobs to operate.

Features

  • Full Git Smart HTTP
  • Enroute terminates Git client connections and handles clones, fetches, and pushes directly, so applications never deal with long-running Git protocol requests themselves.
  • Rich gRPC API
  • A documented gRPC API on port 50051 lets applications manage repositories programmatically, alongside the HTTP Git endpoint on 8080.
  • Snapshot Reads, Concurrent Writes
  • Readers work on one immutable version start to finish while many pushes to the same repository proceed concurrently.
  • Log-Structured Layer Merging
  • New pushes add layers merged and pruned in the background like an LSM tree, eliminating scheduled repacking.
  • Cluster Growth Without Repushing
  • Move from one node to separate compute nodes to replicated ledger nodes by changing only the node configuration, keeping the same bucket and the same binary throughout.

Apps Similar to Enroute