Enforce your ruleswhere it matters
Kafka has many risks and needs unbreakable compliance rules
Governance tools are great, but there are ways around them. Safeguard ensures that your team follows the rules and can't break convention
- Protect
Prevent the most common Apache Kafka mistakes that everyone will make at least once
- Teach
An easy way to explain what your good practices are and what you want
- Observe
Understand where and when rules are being broken across your teams. With this information you can understand who needs more help
- Enforce topic names
Enforce topic standards that conform to your needs for predicatable usage
- Enforce good practices
Proactively prevent incorrect client practices. Enforce standards for durability and availablity of your data
- Prevent performance issues
Forbid advanced configuration that impact negatively Kafka performances

How does it look?
Let's walkthrough some of the magic
Enforce topic name
Topic conventions are defined centrally
$ kafka-topics --bootstrap-server safeguard:9092 --create --partitions 1 --replication-factor 1 --topic jack-topic org.apache.kafka.common.errors.PolicyViolationException: Topic name should match [a-z]+_[a-z]+_[a-z]+. Ex: team_product_topic
Enforce compression
Compression conventions are defined centrally
$ '{"msg": "hello"}' | kafka-console-producer --topic jack-topic org.apache.kafka.common.errors.PolicyViolationException: Compression.type should be enabled
Enforce schema usage
Schemas are defined centrally
$ echo '{"msg": "hello"}' | kafka-console-producer --topic customers org.apache.kafka.common.errors.PolicyViolationException: 'customers' requires to have messages serialized with Schema Registry
Enforce group names
Group names are defined centrally
$ kafka-console-consumer --group my-group --topic topic org.apache.kafka.common.errors.PolicyViolationException: Group name should matching [a-z]+_[a-z]+_[a-z]+. Ex: team_product_group
Prevent performance issue
The fetch.min.bytes configuration can drain Apache Kafka resources
$ kafka-console-consumer --consumer-property fetch.min.bytes=0 --topic topic org.apache.kafka.common.errors.PolicyViolationException: 'fetch.min.bytes=0' has too much impact on Kafka, please use minimum of 1.
We havemany more rules
Arrange a demo to find out everything you can safeguard with Conduktor.