Select spec version:

Connection YAML Reference Beta

Complete YAML reference for event-stream-connections resources in Rudder CLI.
Available Plans
  • free
  • growth
  • enterprise

This guide is the YAML reference for Event Stream connection resources in a Rudder CLI project.

Connection support requires Rudder CLI v0.25.0 or later. Reverse ETL connections are not supported yet.

Upgrade if you are using an earlier version.

Overview

Set kind to event-stream-connections. The spec body is a list. Each entry is one Event Stream source to destination link. Store the files anywhere under the project root.

Each source must be #event-stream-source:…. A config block on this kind is a parse error. Connection mode and other per-source-type settings live on the destination spec.

Connection fields

Each entry in spec.connections has these fields:

PropertyType
Description
id
Required
StringLocal identifier. Must be unique across connection entries in the project.
source
Required
StringReference to an Event Stream source in this project — #event-stream-source:[source.id].
destination
Required
StringReference to a destination in this project — #destination:[destination.id].
enabledBooleanWhether this connection delivers. Defaults to true. Both the source and the destination must also be enabled for data to flow; validate warns if they are not.

Changing source or destination replaces the connection (delete + create). The backend allows only one live row per source–destination pair. enabled is the only field you can update in place.

Example

yaml
version: rudder/v1
kind: event-stream-connections
metadata:
  name: app-connections
spec:
  connections:
    - id: android-to-s3
      source: "#event-stream-source:my-android-source"
      destination: "#destination:s3"
      enabled: true

Validation rules

rudder-cli validate runs these checks locally. Error blocks validate and apply. Warning does not.

CheckSeverity
source and destination exist in the projectError
Connection id is unique; refs use #event-stream-source: and #destination:Error
The same source–destination pair appears only once in the projectError
The destination definition supports the source’s typeError
The destination config includes every field that definition requires for the connecting source typeError
An enabled connection has both endpoints enabledWarning
The destination’s other project connections are also Event StreamError

The following are not checked locally. Apply surfaces the server error: workspace plan gates, permissions, and OAuth or account existence.

Topology rules see only connections in the project. Remote-only connections (created in the dashboard and never imported) are invisible at validate time.

The rule catalog below lists every rule with valid and invalid examples.

Spec version
Filter by phase

Showing 6 of 6 rules

An enabled Event Stream connection needs both its endpoints enabled to deliver events

semantic warning

Rule ID: event-stream/connection/enabled-endpoints-valid

Examples

Event Stream connection endpoints must exist in the project and form a valid, compatible topology

semantic error

Rule ID: event-stream/connection/semantic-valid

Examples

Event Stream connection spec syntax must be valid

syntactic error

Rule ID: event-stream/connection/spec-syntax-valid

Examples

URNs must be unique across the project

syntactic error

Rule ID: project/duplicate-urn

Examples

A (workspace_id, urn) must not be defined in both an import-manifest and inline metadata.import with differing remote_ids

syntactic error

Rule ID: project/manifest-inline-conflict

Examples

Metadata syntax must be valid

syntactic error

Rule ID: project/metadata-syntax-valid

Examples

Import existing connections

bash
rudder-cli import workspace -l <project-directory>

Import writes all Event Stream connections into one file, imported/event-stream/connections.yaml. Related Event Stream sources land under imported/event-stream/sources/. See How to Import Workspace Resources.

See more

Questions? Let's figure it out together.

Join the RudderStack Slack community to connect with other users, customers, and the RudderStack team — or reach out for direct support.