provin
← Back to top

Connectors

System Connectors

The external systems data enters and leaves through — and the provin side that receives them.
Connections are implemented against four extension-point contracts: Source / Sink / Transport / Observer.

"Shipped" means the implementation exists on the current OSS main; "community-buildable" marks systems connectable by implementing an extension-point contract.

The four extension points

Each point maps to a contract in the OSS pipeline/ tree — Process, the sink Writer, the transport Publisher / Subscriber, and contract.ProcessObserver — and the shipped components double as reference implementations.

Source

Where external data enters a pipeline.

Shipped: ingest / aggregate

Sink

Where results leave. In production / archival kinds, only verified verdicts pass (fail-closed).

Shipped: console / file

Transport

Record transport between processes.

Shipped: NATS (Core NATS)

Observer

Subscription hook for processing events — fire-and-forget, best-effort telemetry. Audit-critical persistence stays on the synchronous store paths.

Shipped: logobserver

source

Airbyte

Community-buildable

airbyte.com/ ↗

ELT platform with 600+ connectors — source-available under Elastic License 2.0 (not a standard OSI license). Implement the Source extension-point contract to feed anything Airbyte ingests straight into a pipeline.

elt cdc
source

Meltano

Community-buildable

meltano.com/ ↗

OSS ELT built on the Singer standard. The CLI / GitOps choice with 600+ taps. Receive Meltano output at the Source extension point to feed pipelines.

elt singer oss
source

Debezium

Community-buildable

debezium.io/ ↗

OSS framework for capturing change streams from PostgreSQL, MySQL, MongoDB, and others. Subscribe to Debezium events at the Source extension point to bring DB changes into a pipeline in near real time.

cdc oss
source sink

Webhook

Community-buildable

A general-purpose connection shape that turns any HTTP push into an entry or exit. Receive SaaS event notifications and external triggers at the Source extension point, and deliver pipeline output to arbitrary HTTP endpoints as a Sink.

http push
source sink

Kafka / Redpanda

Community-buildable

kafka.apache.org/ ↗

The staple streaming broker stack. Subscribe to existing topics at the Source extension point and write results to other topics through a Sink. Drop provin on top of an existing Kafka / Redpanda cluster — keep your broker choice and gain the provenance layer.

streaming broker
source sink

Apache Pulsar

Community-buildable

pulsar.apache.org/ ↗

OSS streaming platform with strong multi-tenant and geo-replication support. Connect at both the Source and Sink extension points — a good fit for geo-distributed pipeline deployments.

streaming broker oss multi-tenant
transport

NATS

Shipped

nats.io/ ↗

Lightweight, easy-to-self-host OSS PubSub. Core NATS ships as the default Transport in provin OSS (pipeline/transport/nats), carrying records between Pipeline Processes — the internal transport seam, not an external data connector, and swappable with SQS/SNS. It is part of the quickstart stack.

Exactly-once / durable delivery via JetStream is noted in the source as a follow-up — what ships today is Core NATS.

streaming broker oss
source sink

Bento

Community-buildable

warpstreamlabs.github.io/bento/ ↗

The MIT fork of Benthos. Single-binary stream processor with declarative Bloblang mappings and 200+ processors. Connect it as upstream shaping on the Source side, or downstream delivery on the Sink side.

processing oss
sink

Apache Iceberg

Community-buildable

iceberg.apache.org/ ↗

The de facto OSS lakehouse table format. Writing pipeline output to Iceberg tables is implementable against the Sink extension-point contract.

lakehouse table-format oss
sink

MCP (Model Context Protocol)

Community-buildable

modelcontextprotocol.io/ ↗

An open protocol for exposing structured data to AI agents. Surface a pipeline’s output from the Sink extension point as an MCP server, so LLM agents consume provenance-backed data.

ai-agent oss