Skip to content

Clients and interfaces

Enroute has two inbound interfaces and one callback path.

Git client -- Git smart HTTP --> Enroute <-- gRPC -- application
                                    |
                                    +-- signed HTTP hooks --> application
InterfaceCallerUse
listen.gitGit clientsClone, fetch, and push over Git smart HTTP
listen.apiYour applicationCreate repositories, read Git data, and move refs over gRPC
Hook endpointEnrouteAsk your application for identity and policy decisions

Enroute terminates Git connections. Your application does not process pkt-lines or serve clone and push connections. It uses the gRPC API to read objects and metadata, then exposes them in its own UI or services.

The Git listener is normally public. Keep the API listener private: the tenant header identifies the caller's tenant, so any client that can set it can act as that tenant. See Security.

Enroute stores durable metadata in Postgres and Git objects and indexes in an object store. Its compute processes hold no repository state. See Storage.

Generated from docs/concepts/two-callers.md at ead0474