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