Validate
Validate rejects a Kafka message key or value that doesn't conform to a schema or type, before it's produced to a topic or before it's fetched back out. It's built on two resources:
- Schema Registry defines where a schema lives: embedded in
zilla.yaml, read from the local filesystem, or fetched from a remote schema registry. - Schema Enforcement defines the type or schema a message key or value is checked against, from primitives like
stringandint32to schema-backed formats likeavro,json, andprotobuf.
A kafka binding combines both: the model decides how to parse and validate the message, and for schema-backed models, the catalog supplies the schema to validate against.
north_kafka_cache_client:
type: kafka
kind: cache_client
options:
topics:
- name: items-snapshots
value:
model: avro
catalog:
my_catalog:
- strategy: topicA cache_client validates a message as it's produced to a topic; a cache_server can independently validate a message as it's fetched back out, rejecting one that doesn't match even if it was produced without validation. See Schema Enforcement for both cases.
Next Steps
- Schema Registry covers each catalog type Kafka Gateway supports and when to use it.
- Schema Enforcement covers each model type Kafka Gateway supports, from primitives to schema-backed formats.
- Transform covers transforming a message's representation once it's validated.

