Skip to content

Kafka

Install

See the Install guide for the full setup, including Windows PowerShell.

curl -fsSL https://install.skippr.io/install.sh | shClick to copy

Consumes messages from a Kafka topic.

Configuration

yaml
source:
  kind: kafka
  brokers: "localhost:9092"
  topic: events
  group_id: skippr-consumer
FieldDefaultDescription
brokers(required)Kafka bootstrap servers
topic(required)Topic to consume
group_idauto-generatedConsumer group ID
auto_offset_resetearliestearliest or latest
security_protocolSecurity protocol
sasl_mechanismSASL mechanism
sasl_username / sasl_passwordSASL credentials
modestreamstream or batch

Namespace: kafka.{topic}

CLI

bash
skippr connect source kafka \
  --brokers localhost:9092 \
  --topic events \
  --group-id skippr-consumer \
  --auto-offset-reset earliest \
  --security-protocol SASL_SSL \
  --sasl-mechanism PLAIN \
  --sasl-username ${KAFKA_SASL_USERNAME} \
  --sasl-password ${KAFKA_SASL_PASSWORD} \
  --mode stream
FlagDescription
--brokersKafka bootstrap servers
--topicTopic to consume
--group-idConsumer group ID
--auto-offset-resetOffset reset policy such as earliest or latest
--security-protocolBroker security protocol
--sasl-mechanismSASL mechanism
--sasl-usernameSASL username
--sasl-passwordSASL password
--modeConsumption mode

Authentication

Kafka supports unauthenticated local development as well as secured broker setups. For security best practices, we strongly advise against storing SASL credentials in skippr.yaml. Use environment variable interpolation instead: replace the sasl_username or sasl_password value with your own ${ENV_VAR} reference.

The relevant part of skippr.yaml looks like this:

yaml
source:
  kind: kafka
  security_protocol: SASL_SSL
  sasl_mechanism: PLAIN
  sasl_username: ${KAFKA_SASL_USERNAME}
  sasl_password: ${KAFKA_SASL_PASSWORD}

Set the env vars before running skippr:

macOS / Linux

bash
export KAFKA_SASL_USERNAME="myuser"
export KAFKA_SASL_PASSWORD="mypassword"

Windows PowerShell

powershell
$env:KAFKA_SASL_USERNAME = "myuser"
$env:KAFKA_SASL_PASSWORD = "mypassword"

Windows Command Prompt

cmd
set KAFKA_SASL_USERNAME=myuser
set KAFKA_SASL_PASSWORD=mypassword

Permissions or Network Requirements

The runner must be able to reach the bootstrap brokers, join the configured consumer group, and read the selected topic. For secured clusters, make sure broker ACLs allow topic consumption and group commits. For Debezium-based CDC, see CDC Sources -- Kafka.

Troubleshooting

SymptomFix
connection or SASL failuresVerify broker addresses, security protocol, SASL settings, and network access to the cluster.
messages are not arrivingCheck the topic name, consumer group, and whether the producer is publishing to the expected topic.

CDC Support

Kafka supports real-time Change Data Capture via Debezium envelope parsing. When paired with a supported warehouse destination, Skippr reconciles those mutations to exactly-once final state.

See CDC Sources -- Kafka for prerequisites, configuration, and resume behavior.

Next steps

Install

See the Install guide for the full setup, including Windows PowerShell.

curl -fsSL https://install.skippr.io/install.sh | shClick to copy