Clients and interfaces
Enroute has two inbound interfaces and one callback path.
Git client -- Git smart HTTP --> Enroute <-- gRPC -- application
|
+-- signed HTTP hooks --> application
| Interface | Caller | Use |
|---|---|---|
listen.git | Git clients | Clone, fetch, and push over Git smart HTTP |
listen.api | Your application | Create repositories, read Git data, and move refs over gRPC |
| Hook endpoint | Enroute | Ask 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: it authenticates nobody, so any client that can reach it can act as your application. See Security.
Enroute keeps refs in replicated logs on ledger nodes and Git data in an object store. See Storage.
Generated from docs/concepts/two-callers.md at bc0dc6e