Skip to main content

What is Tenon?

Tenon is a standalone runner for connecting systems with typed Source and Sink plugins. A user describes one pipeline in a Tenon Document. The Runner reads that Tenon Document, starts the requested plugin Programs, and applies the Lua processing that connects Sources to Sinks.

From a Tenon Document to a running PipelineA user submits a Tenon Document that selects plugin Programs, configures Instances, and connects Flows. The Runner applies the Tenon Document and runs a Pipeline connecting Source Instances through Lua to Sink Instances.Userwrites and submitsTenon DocumentPlugin selection and configurationFlows, Lua scripts, delivery settingsapplied byTenon RunnerManages the running PipelinesPipeline · one Flow shownSource Instance · receivesLua · transforms and routesSink Instances · deliver

The four pieces​

  • User — writes or updates a Tenon Document and checks the running Pipeline.
  • Tenon Document — declares plugin Instances, Flows, Lua processing, and delivery settings as JSON.
  • Tenon Runner — validates Tenon Documents, starts plugin processes, manages queues, and exposes the HTTP API and diagnostics.
  • Plugin Programs — provide Source and Sink interfaces for BifroMQ, files, databases, services, or other systems. A Program can be used through one or more configured Instances.

How a pipeline works​

A Flow binds one Source Instance to Lua processing and one or more Sink Instances:

  1. A Source plugin receives a record from an external system.
  2. The Runner delivers the record to one Lua channel.
  3. Lua can filter, transform, route, or build a new payload.
  4. Sink plugins write the emitted payload to their external systems.

The Tenon Document being saved, the Pipeline being applied, and a Sink reporting successful delivery are separate events. Check the corresponding API response or diagnostic signal for the result you need.

Choose a next step​