Karapace Schema Registry
Karapace Schema Registry
Overview
Karapace Schema Registry is an open-source schema registry that enables seamless schema management for Kafka and other data platforms. By integrating with an external Karapace registry, Zilla can dynamically resolve schemas, ensuring compatibility and validation of Kafka messages. Key benefits include:
- Centralized Schema Management: Store and access schemas from a dedicated Karapace registry, ensuring consistency across services.
- Dynamic Schema Resolution: Automatically fetch and validate schemas at runtime, reducing manual updates.
catalog:
type: karapace-schema-registry
options:
url: http://reg.example.com:8081
context: default
Usage Example
Validating Kafka Messages with Karapace Schema Registry
The http.kafka.avro.json
example demonstrates how Zilla can integrate with the Karapace schema registry to validate Kafka messages. This setup ensures that all Kafka producers and consumers adhere to predefined schemas, enhancing data reliability and governance.
Configuration (* required)
options
options
object
The schema-registry
specific options.
Property | Type | Description |
---|---|---|
options.url | string | Schema Registry URL to access schemas via API calls. |
options.context | string | Default: default |
options.max-age | integer | Default: 300 |
options.tls | object | TLS configuration for connecting to secure Schema Registry. A configured vault is required to manage the keys and certificates necessary for TLS authentication. |
options.tls.keys | string[] | A list of reference names for the Vault key. |
options.tls.trust | string[] | A list of reference names for the Vault certificate. |
options.tls.trustcacerts | boolean | Trust CA certificates. When the this property is not explicitly set it will be automatically set to true if options.tls.trust is null . |
options.credentials | object | Configures the credentials used to authenticate the user. |
options.credentials.headers | object | Authentication headers to be included in requests to the Schema Registry. |
options.credentials.headers.authorization | string | The authorization header for authenticating API requests. For example, use a Basic token or Bearer token format. |
Examples
TLS configuration examples.
tls:
trust:
- serverca
keys:
- client1
Credential examples.
credentials:
headers:
authorization: Basic dXNlcjpzZWNyZXQ=