Status

Current state: Adopted & Implemented in 0.10.0.0

Discussion thread: here

JIRA: here

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

Make the set of connector classes that are available discoverable via the REST API. This is useful for users to be able to discover which connectors they can run in a Connect cluster.

Public Interfaces

One new REST API endpoint for Connect will be introduced:

GET /connector-plugins

This method will retrieve a list of instantiable connector classes (non-abstract, non-interface) available on the classpath.

Proposed Changes

This is purely an addition, so the change is almost entirely described by the Public Interfaces section. Responses will be a JSON array containing fully qualified class names, e.g.

[ 
  { "class": "org.apache.kafka.connect.file.FileStreamSourceConnector" },
  { "class": "org.apache.kafka.connect.file.FileStreamSinkConnector" }
]

The class names are wrapped in an object and specified in the field "class". This allows room for extending the returned content in the future. A few connectors that are included with Kafka but are intended for testing will be specifically excluded:

  • VerifiableSourceConnector 
  • VerifiableSinkConnector 

Compatibility, Deprecation, and Migration Plan

This is entirely new functionality so there are no compatibility, deprecation, or migration concerns.

Rejected Alternatives

No rejected alternatives


  • No labels