Git reference
BlobStoreR2
Section titled “BlobStoreR2”Source:
src/Git/BlobStore.tsKind: Layer · Provides:Git.BlobStore
R2-backed BlobStore: packs, bundles, oversize objects, and
push spill live in the given bucket. Registers the bucket binding on
the host Worker.
BlobStoreS3
Section titled “BlobStoreS3”Source:
src/Git/BlobStoreS3.tsKind: Layer · Provides:Git.BlobStore
S3-backed BlobStore using the given bucket. Accepts an
AWS.S3.Bucket resource or its declaration Effect, like BlobStoreR2.
See the module doc for identity and latency semantics.
EngineLive
Section titled “EngineLive”Source:
src/Git/Engine.tsKind: Layer · Provides:Git.Engine
Provides the Git engine using the application’s repository, registry, blob, and hasher layers.
RegistryDurableObject
Section titled “RegistryDurableObject”Source:
src/Git/RegistryObject.tsKind: Layer · Provides:Git.RegistryStore
RegistryStore backed by the singleton Registry Durable Object —
the default. Registers the DO implementation and resolves the store to
its stub, so callers never name the instance.
RepoStore
Section titled “RepoStore”Source:
src/Git/RepoObject.ts
Git.RepoStore — the repository block as a service: every route reaches
a repository through it. ReposDurableObject provides it over the
GitRepo Durable Object namespace. It is the seam for decorating
repositories (hook commitPush, updateRef, mergePull to observe ref
moves) or for implementing GitRepoShape over another store.
ApiLive
Section titled “ApiLive”Source:
src/Git/Server.tsKind: Layer
Git’s public routes as an ordinary HttpRouter layer. Merge this with your application’s routes and provide your route middleware to the result. The application owns its API, HTTP server, platform, and CORS policy.
const Routes = Layer.mergeAll(AppApiLive, Git.ApiLive).pipe( Layer.provide(Authentication.layer),);