How to Manage Kafka Source Credentials in Skippr
July 2026
Keep Kafka source credentials safe by leaving broker and topic details in config, using env vars for SASL secrets when needed, and matching the connector to either a local unauthenticated cluster or a secured broker setup.
Short Answer
Manage Kafka source credentials in Skippr by separating connection details from actual secrets. The docs keep brokers, topic, group_id, auto_offset_reset, and mode in config, while sasl_username and sasl_password should use environment variable interpolation only when the cluster runs with SASL.
That is important because Kafka does not always require a secret at all. A local broker may be intentionally unauthenticated, while a production cluster may require SASL_SSL, a named mechanism, and broker ACLs for topic reads and group commits. The safe setup is the one that matches the broker you actually run, not the one that assumes every field is confidential.
Why Teams Struggle with This
Kafka auth problems often come from hiding the wrong fields and exposing the wrong ones. Broker addresses and topic names are operational details. SASL credentials are secrets. When teams blur that line, they usually end up with unreadable config and a leaked password anyway.
- Putting
sasl_usernameandsasl_passworddirectly intoskippr.yamlcreates a secret leak without simplifying operations. - Using one shared superuser across many topics makes it harder to scope topic and consumer-group ACLs.
- Changing
earliestversuslatestis a data contract decision, not a credential decision, and should stay visible in config. - If the runner cannot reach the bootstrap brokers or commit offsets for the group, no amount of password rotation will make the source healthy.
How Skippr Handles It
Skippr keeps the Kafka source honest about what it needs: broker addresses, topic, consumer group, auth settings, and mode. That makes it easy to read the connector config and see how the consumer behaves without exposing the SASL values that secure it.
It also means the same pattern works across both local evaluation and production. You can leave auth unset for a local broker, then move to ${KAFKA_SASL_USERNAME} and ${KAFKA_SASL_PASSWORD} when the secured cluster is ready.
- Supports local unauthenticated Kafka as well as secured SASL clusters.
- Keeps
brokers,topic,group_id, andmodeas visible config. - Uses
${KAFKA_SASL_USERNAME}and${KAFKA_SASL_PASSWORD}for secret values when SASL is enabled. - Matches the documented ACL and consumer-group model instead of hiding it behind a generic token story.
What the First Useful Version Looks Like
The first useful version is one topic, one consumer group, one offset policy, and one broker security mode. Validate the consumer can join the group and read messages before you add more topics or credentials.
If the topic carries Debezium CDC later, keep the same secret-handling pattern and let the warehouse destination handle final-state reconciliation on its side.
