LaserData Cloud
Connectors

Connector Configuration

Configure sink and source connector instances with schemas, transforms, and plugin settings

After activating a connector, configure each instance through the Configuration system. Each instance has its own versioned configuration — you can create versions, activate a specific one, and roll back.

Sink Configuration

SettingDescription
enabledWhether the connector instance is active
streamsWhich Iggy streams and topics to consume from
schemaMessage format — JSON (default), Raw, Text, Protocol Buffers, FlatBuffers
batch_lengthNumber of messages to batch before sending
poll_intervalHow often to poll for new messages
consumer_groupOptional consumer group for coordinated consumption
plugin_configPlugin-specific settings (connection strings, credentials, table names, etc.)
transformsOptional data transformations before sending

Source Configuration

SettingDescription
enabledWhether the connector instance is active
streamsWhich Iggy stream and topic to produce into
schemaMessage format — JSON (default), Raw, Text, Protocol Buffers, FlatBuffers
batch_lengthNumber of messages to batch before producing
linger_timeMaximum time to wait before flushing a batch
plugin_configPlugin-specific settings (source connection, polling interval, etc.)
transformsOptional data transformations before producing

Data Transforms

Apply field-level transformations to messages as they flow through connectors:

TransformDescription
AddFieldsAdd new fields to messages
DeleteFieldsRemove fields from messages
FilterFieldsKeep only specified fields
UpdateFieldsModify existing field values
ProtoConvertConvert to/from Protocol Buffers
FlatBufferConvertConvert to/from FlatBuffers

Custom transforms can be built by implementing the Transform trait in Rust.

Examples

PostgreSQL Sink

{
  "name": "orders-to-postgres",
  "values": {
    "enabled": true,
    "streams": [
      {
        "stream": "orders",
        "topics": ["completed", "refunded"],
        "schema": "json",
        "batch_length": 100,
        "poll_interval": "1s",
        "consumer_group": "pg-sink-orders"
      }
    ],
    "plugin_config_format": "json",
    "plugin_config": {
      "connection_string": "postgres://user:pass@host:5432/orders",
      "table": "order_events"
    }
  },
  "activate": true
}

Random Source (Development)

{
  "name": "test-data-generator",
  "values": {
    "enabled": true,
    "streams": [
      {
        "stream": "test_stream",
        "topic": "test_topic",
        "schema": "json",
        "batch_length": 1000,
        "linger_time": "5ms"
      }
    ],
    "plugin_config": {
      "interval": "3000ms",
      "max_count": 1000000,
      "message_range": [1, 5],
      "payload_size": 200
    }
  },
  "activate": true
}

On this page