cannectors

Quick Start

Run a maintained example pipeline in three commands.

Cannectors ships with 33 maintained example pipelines under examples/. They are validated by the test suite and ready to run. This page walks you through running one without touching the YAML.

Prerequisites

You should already have the cannectors binary on your PATH. If not, see Installation.

Step-by-step

Clone the examples

The example files live in the main Cannectors repository:

git clone https://github.com/alexandrecano/cannectors.git
cd cannectors

Validate the example

Validate the pipeline against the JSON Schema. This catches typos, missing required fields, and invalid module options before anything runs.

cannectors validate ./examples/01-http-polling-basic-to-http-batch.yaml

You should see:

✓ pipeline is valid

Add --verbose to print the parsed pipeline structure. Add --quiet to suppress the success banner (useful in CI).

Preview with --dry-run

Run the pipeline in dry-run mode. Cannectors will execute everything up to the output stage, then print a preview of what would be sent — without actually calling the destination.

cannectors run --dry-run ./examples/01-http-polling-basic-to-http-batch.yaml

You'll see the trace for each stage (input → filters → output) plus a preview of the batch that would be POSTed. This is the safest way to test a pipeline against a real source.

Run for real

Remove --dry-run to actually call the output:

cannectors run ./examples/01-http-polling-basic-to-http-batch.yaml

If the pipeline has a schedule, the process stays alive and re-runs on CRON. If not, it runs once and exits.

The maintained examples target https://source.example.com and https://destination.example.com — placeholder hosts. You'll want to edit the endpoints or copy the file before running it for real.

What just happened

The pipeline you ran is shaped like every Cannectors pipeline: one input, zero or more filters, one output.

input:
  type: httpPolling
  schedule: "*/15 * * * *"
  endpoint: https://source.example.com/api/orders
  dataField: orders

filters: []

output:
  type: httpRequest
  endpoint: https://destination.example.com/api/orders/import
  method: POST
  requestMode: batch

The input polls the source on CRON, parses orders out of the JSON response, hands each record to the filter chain (here, empty), and the output batches everything into one POST.

Next