Overview

Apache Kafka and Confluent Platform each define a number of ways to add functionality with software extensions that can be installed and plugged into your installation. For example, Kafka Connect defines source connectors that continuously load external data into Kafka; sink connectors that consume data in Kafka and write it out to external systems; transformations to manipulate single messages; and converters that serialize and deserialize messages for Connect. There’s a large ecosystem of connectors, transforms, and converters, but they can be difficult to find and install.

Confluent Hub is an online library of pre-packaged and ready-to-install extensions or add-ons, called components, for Confluent Platform and Apache Kafka. You can browse and search the collections to find the components that suit your needs, download them, easily install them into your local Confluent Platform environment, and configure and use them.

Terminology

Component
A packaged implementation of one or more Apache Kafka or Confluent Platform APIs. Many components include a set of libraries, configuration files, documentation, and other resources that you install into your local system and then configure and use. Some components, however, cannot be downloaded and must be accessed from the component’s owner as detailed on Confluent Hub.
Component archive
A ZIP file that contains the packaged component for easy download and installation. Not all components have an archive.
Component owner
The individual or organization providing a component. Owners develop and test a component, and optionally package it into a component archive for publishing on Confluent Hub. Owner names namespace all components from that owner into a unique identifier. Owner names are used as part of the directory name when the component is installed. The name of a component owner must contain two to 255 characters, and must contain only lowercase letters, numbers, and underscore (_) characters. An example is confluentinc.
Component name
Each component has a name that, combined with the owner name, provides a unique identifier for that component relative to all other components in Confluent Hub. Names should be meaningful to end users, and will be used as part of the directory name when the component is installed. The name of a component must contain only lowercase letters, numbers, minus sign (-), and underscore (_) characters. An example is kafka-connect-jdbc.
Component version
Components have versions that can be used to identify a specific release of that component, and should correspond to the same versioning scheme used in version control and releases. They may contain letters, numbers, minus sign (-), period (.), and underscore (_) characters. An example is 5.0.0.