Skip to main content

schema_registry

Reads schemas from a schema registry.

Reads schema definitions from a schema registry service, letting you extract and back up schemas during a data migration. You can include deleted entities, restrict the results to subjects matching a regular expression, and fetch schemas in ID order when they refer to one another.

# Config fields, showing default values
input:
label: ""
schema_registry:
url: "" # No default (required)
include_deleted: false
subject_filter: ""
fetch_in_order: true
auto_replay_nacks: true
oauth:
enabled: false
consumer_key: ""
consumer_secret: ""
access_token: ""
access_token_secret: ""
basic_auth:
enabled: false
username: ""
password: ""
jwt:
enabled: false
private_key_file: ""
signing_method: ""
claims: {}
headers: {}
tls:
enabled: false
skip_cert_verify: false
enable_renegotiation: false
root_cas: ""
root_cas_file: ""
client_certs: []

Examples

Read every schema from a local registry so they can be backed up or replicated to another registry.

input:
schema_registry:
url: http://localhost:8081

Fields

url

The base URL of the schema registry service.

Type: string

include_deleted

Include deleted entities.

Type: bool
Default: false

subject_filter

Include only subjects which match the regular expression filter, or leave blank to select all subjects.

Type: string
Default: ""

fetch_in_order

Indicate whether to fetch all schemas and sort them by ID. Set to true if using schemas that refer to other schemas.

Type: bool
Default: true

auto_replay_nacks

Whether to automatically replay rejected messages at the output level.

Type: bool
Default: true

oauth

Allows you to specify open authentication via OAuth version 1.

Type: object

oauth.enabled

Whether to use OAuth version 1 in requests.

Type: bool
Default: false

oauth.consumer_key

The value used to identify this component or client to your schema registry.

Type: string
Default: ""

oauth.consumer_secret

The secret that establishes ownership of the consumer key in OAuth 1.0 authentication. :::warning Secret This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info. :::

Type: string
Default: ""

oauth.access_token

The value this component can use to gain access to the schema registry.

Type: string
Default: ""

oauth.access_token_secret

The secret that establishes ownership of the oauth.access_token in OAuth 1.0 authentication. :::warning Secret This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info. :::

Type: string
Default: ""

basic_auth

Allows you to specify basic authentication.

Type: object

basic_auth.enabled

Whether to use basic authentication in requests.

Type: bool
Default: false

basic_auth.username

The username of the account credentials to authenticate as. Used together with password for basic authentication.

Type: string
Default: ""

basic_auth.password

The password to use for authentication. Used together with username for basic authentication or with encrypted private keys for secure access. :::warning Secret This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info. :::

Type: string
Default: ""

jwt

Allows you to specify JWT authentication.

Type: object

jwt.enabled

Whether to use JWT authentication in requests.

Type: bool
Default: false

jwt.private_key_file

A PEM-encoded file containing a private key that is formatted using either PKCS1 or PKCS8 standards.

Type: string
Default: ""

jwt.signing_method

The method used to sign the token, such as RS256, RS384, RS512 or EdDSA.

Type: string
Default: ""

jwt.claims

Values used to pass the identity of the authenticated entity to the service provider. In this case, between this component and the schema registry.

Type: object
Default: {}

jwt.headers

The key/value pairs that identify the type of token and signing algorithm.

Type: object
Default: {}

tls

Custom TLS settings can be used to override system defaults.

Type: object

tls.enabled

Whether custom TLS settings are enabled.

Type: bool
Default: false

tls.skip_cert_verify

Whether to skip server side certificate verification.

Type: bool
Default: false

tls.enable_renegotiation

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation.

Type: bool
Default: false

tls.root_cas

An optional root certificate authority to use. This is a string that represents a certificate chain from the parent-trusted root certificate, through possible intermediate signing certificates, to the host certificate. :::warning Secret This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info. :::

Type: string
Default: ""

tls.root_cas_file

An optional path to a root certificate authority file to use. This is a file, often with a .pem extension, which contains a certificate chain from the parent-trusted root certificate, through possible intermediate signing certificates, to the host certificate.

Type: string
Default: ""

tls.client_certs

A list of client certificates for mutual TLS (mTLS) authentication. Configure this field to enable mTLS, authenticating the client to the server with these certificates. You must set tls.enabled: true for the client certificates to take effect.

Type: array
Default: []

tls.client_certs[].cert

A plain text certificate to use.

Type: string
Default: ""

tls.client_certs[].cert_file

The path of a certificate to use.

Type: string
Default: ""

tls.client_certs[].key

A plain text certificate key to use. :::warning Secret This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info. :::

Type: string
Default: ""

tls.client_certs[].key_file

The path of a certificate key to use.

Type: string
Default: ""

tls.client_certs[].password

A plain text password for when the private key is password encrypted in PKCS#1 or PKCS#8 format. :::warning Secret This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info. :::

Type: string
Default: ""