Apache Kafka ConnectorCreate

Apache Kafka ConnectorCreate

Certified

Create a Kafka Connect connector

Submits a new connector to the Kafka Connect REST API. Fails with the API's error body verbatim (HTTP 409) if a connector with the same name already exists, and (HTTP 400/500) if config fails the connector plugin's own validation.

yaml
type: io.kestra.plugin.kafka.ConnectorCreate

Create a JDBC sink connector

yaml
id: kafka_connector_create
namespace: company.team

tasks:
  - id: create_connector
    type: io.kestra.plugin.kafka.ConnectorCreate
    connectUrl: http://connect:8083
    connectorName: orders_jdbc_sink
    config:
      connector.class: io.confluent.connect.jdbc.JdbcSinkConnector
      tasks.max: "1"
      topics: orders
      connection.url: jdbc:postgresql://postgres:5432/orders
      connection.user: "{{ secret('POSTGRES_USER') }}"
      connection.password: "{{ secret('POSTGRES_PASSWORD') }}"
      insert.mode: upsert
      pk.mode: record_key
Properties

Connector configuration

Must include connector.class and any property required by that connector plugin (e.g. topics, tasks.max, connection settings). Left empty, Connect rejects the request with its own validation error.

Kafka Connect REST API base URL

For example http://connect: 8083. Kafka Connect has no dedicated Java admin client — every operation goes through this REST API.

Connector name

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Additional HTTP headers

Sent on every request to the Connect REST API. Useful when the worker sits behind a reverse proxy or expects a bearer token, e.g. Authorization: Bearer ....

Basic auth password

Basic auth username

Required together with password when the Connect REST API is protected with HTTP basic auth. Leave both unset to call an unauthenticated worker — no Authorization header is sent in that case.

SubTypestring

Effective connector configuration, as accepted by Connect

Connector name

SubTypeinteger

Task ids provisioned by Connect for this connector