Skip to content

serve

import { Aside } from ‘@astrojs/starlight/components’;

Currently Available: pipeline push

Publish data as an event stream using the push field in a pipeline:

apiVersion: cyntex/v1
kind: pipeline
id: order-events-publisher
source: mysql-prod
push:
- source: orders
topic: order-events # omitted = uses table name
format: cyntex # default: cyntex TapEvent envelope
options:
start_from: latest
- source: /returns_.*/
topic: return-events
format: "{'id': record.id, 'amount': record.amount, 'ts': record.updated_at}"
# format as a CEL projection = custom event structure

GA Phase: apiserver + DSL serve Resource

In the GA phase, after the apiserver (role=api) lands, the DSL will support kind: serve resources to publish synced data directly as a REST API:

# GA phase preview (syntax not yet finalized)
apiVersion: cyntex/v1
kind: serve
id: user-api
source: user_profiles # references an already-synced collection
path: /api/v1/users
auth: jwt

The apiserver is OSS open (not closed-source), released in the GA milestone.

DSL Reserved Extension Points

The current DSL already reserves extension points for data publishing. When the apiserver lands, no rework of existing pipelines will be needed.