Ingest Ingest Composable Server/less IO Framework
GitHub

Foundation

Overview

Ingest is a server framework built around five ideas:

ConceptFramework Behavior

On This Page

Structural Map

  1. What Ingest emphasizes
  2. The mental model
  3. Reading path

Ingest is a server framework built around five ideas:

  • a single server model that works across local and serverless runtimes
  • an event-driven request lifecycle
  • multiple ways to define routes
  • optional composition through plugins and routers
  • route metadata that tools can inspect

What Ingest emphasizes

Ingest is strongest when you want to:

  • keep application code close to HTTP concerns
  • compose behavior through plugins instead of a large application container
  • move between Node HTTP and WHATWG-style runtimes without rewriting your app model
  • choose the route organization style that fits the project
  • expose route structure to build or deployment tooling

The mental model

At a high level, an Ingest app works like this:

  1. Create a server().
  2. Register routes, hooks, and plugins.
  3. Let an adapter turn runtime input into Ingest Request and Response objects.
  4. Run the request through lifecycle events and route resolution.
  5. Return or dispatch the response in the current runtime.

Reading path

If you are new to the project, read in this order:

  1. Application Model
  2. Data Surfaces
  3. Request Lifecycle
  4. Composition
  5. Routing Patterns
  6. Runtimes and Tooling

Then move into Guides for implementation tasks or API Reference for exact signatures.