kafka-connect:kafka-connect

Full name:

io.confluent:kafka-connect-maven-plugin:0.12.0:kafka-connect

Description:

Packages a project into an archive file for use on Confluent Hub. Allows user-specifiable metadata to be provided via configuration.

The archive will be a ZIP file generated in the target/components/packages directory.

For more details on the kinds of metadata that can be specified for a component, visit our documentation on the component archive format.

Any logo files submitted to Confluent Hub must contain a valid extension for their format, must be at least 400 pixels wide and 200 pixels tall, and be no larger than 45 MB in size.

String parameters with default values (such as source URL) can be manually nullified by specifying a value of "none".

Attributes:

  • Requires a Maven project to be executed.
  • Binds by default to the lifecycle phase: package.

Required Parameters

NameTypeSinceDescription
componentTypesSet-A list of types that apply to this component. The four allowed types are "sink", "source", "transform", and "converter".
User property is: connect.component.componentTypes.
descriptionString-The description of the component. Should include a summary of the component's functionality, as well as any information that can't be specified in any other part of the manifest.
We recommend the first short paragraph provide a good overview, and that subsequent paragraphs list features, capabilities, limitations, and external requirements in detailed, human-readable sentences.
Default value is: ${project.description}.
User property is: connect.component.description.
nameString-The name of the component.
Default value is: ${project.artifactId}.
User property is: connect.component.name.
ownerUsernameString-The username for the owner of the component. Must adhere to the regex [a-zA-Z0-9][a-zA-Z0-9_-]*.
User property is: connect.component.owner.username.
versionString-The version of the component.
Default value is: ${project.version}.
User property is: connect.component.version.

Optional Parameters

NameTypeSinceDescription
confluentControlCenterIntegrationBoolean-Whether or not the component supports integration with Confluent Control Center.
Default value is: false.
User property is: connect.component.features.confluentControlCenterIntegration.
deliveryGuaranteeSet-What sort of delivery guarantees the component provides. Can be empty, or contain one or both of "atLeastOnce" and "exactlyOnce".
User property is: connect.component.features.deliveryGuarantee.
dockerLabelString-Deprecated. No longer used. Will be removed in a future release.
User property is: connect.component.docker.label.
dockerNameString-The name for the component's Docker image.
User property is: connect.component.docker.name.
dockerNamespaceString-The namespace that the component's Docker image occupies.
User property is: connect.component.docker.namespace.
dockerRegistriesList-A list of Docker registries where the component's Docker image can be found.
User property is: connect.component.docker.registries.
dockerTagString-The tag for the component's Docker image.
User property is: connect.component.docker.tag.
documentationUrlString-A link to documentation for the component.
Default value is: ${project.url}.
User property is: connect.component.documentation.url.
kafkaConnectApiBoolean-Whether or not the component is a Kafka Connect connector.
Default value is: true.
User property is: connect.component.features.kafkaConnectApi.
licensesList-A list of licenses associated with the component. Each license is comprised of a name, a url, and a logo. If no licenses are specified here, the list of licenses found at the top level of the project's POM is used. If you would like to ensure that no licenses are included, configure this explicitly as an empty list.
logoString-A logo to use for the component. Should consist of a project-local path to an image file; external URLs are not allowed.
User property is: connect.component.logo.
ownerLogoString-A logo to use for the owner of the component. Should consist of a project-local path to an image file; external URLs are not allowed.
User property is: connect.component.owner.logo.
ownerNameString-The name of the owner of the component (akin to a friendlier, more-human-readable version of the ownerUsername field.
User property is: connect.component.owner.name.
ownerTypeString-The type of owner for the component. Either "organization" or "user".
User property is: connect.component.owner.type.
ownerUrlString-A link to a website for the owner of the component.
User property is: connect.component.owner.url.
releaseDateString-The release date for the component. Must be in the format "yyyy-MM-dd".
User property is: connect.component.releaseDate.
requirementsSet-A list of requirements for the component.
User property is: connect.component.requirements.
singleMessageTransformsBoolean-Whether or not the component supports single message transforms.
Default value is: true.
User property is: connect.component.features.singleMessageTransforms.
sourceUrlString-A link to source code for the component.
Default value is: ${project.scm.url}.
User property is: connect.component.source.url.
supportLogoString-A logo to use for the component supporter. Should consist of a project-local path to an image file; external URLs are not allowed.
User property is: connect.component.support.logo.
supportProviderNameString-The name of the support provider for the component.
User property is: connect.component.support.providerName.
supportSummaryString-The kind of support provided for the component.
User property is: connect.component.support.summary.
supportUrlString-A link to a website for support for the component.
User property is: connect.component.support.url.
supportedEncodingsSet-A list of encodings supported by the component (if the component is a Kafka Connect connector, it is assumed to be able to support any encoding, in which case this should be set to ["any"]). Defaults to "any"; if you would like to specify that no encodings are supported or if the packaged component is not a Kafka connector (e.g., it is instead a converter or transform), configure this explicitly as an empty list.
tagsSet-A list of search tags to associate with the component.
User property is: connect.component.tags.
titleString-The title of the component (akin to a friendlier, more-human-readable version of the name field).
Default value is: ${project.name}.
User property is: connect.component.title.

Parameter Details

componentTypes:

A list of types that apply to this component. The four allowed types are "sink", "source", "transform", and "converter".
  • Type: java.util.Set
  • Required: Yes
  • User Property: connect.component.componentTypes

confluentControlCenterIntegration:

Whether or not the component supports integration with Confluent Control Center.
  • Type: java.lang.Boolean
  • Required: No
  • User Property: connect.component.features.confluentControlCenterIntegration
  • Default: false

deliveryGuarantee:

What sort of delivery guarantees the component provides. Can be empty, or contain one or both of "atLeastOnce" and "exactlyOnce".
  • Type: java.util.Set
  • Required: No
  • User Property: connect.component.features.deliveryGuarantee

description:

The description of the component. Should include a summary of the component's functionality, as well as any information that can't be specified in any other part of the manifest.
We recommend the first short paragraph provide a good overview, and that subsequent paragraphs list features, capabilities, limitations, and external requirements in detailed, human-readable sentences.
  • Type: java.lang.String
  • Required: Yes
  • User Property: connect.component.description
  • Default: ${project.description}

dockerLabel:

Deprecated. No longer used. Will be removed in a future release.
(no description)
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.docker.label

dockerName:

The name for the component's Docker image.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.docker.name

dockerNamespace:

The namespace that the component's Docker image occupies.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.docker.namespace

dockerRegistries:

A list of Docker registries where the component's Docker image can be found.
  • Type: java.util.List
  • Required: No
  • User Property: connect.component.docker.registries

dockerTag:

The tag for the component's Docker image.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.docker.tag

documentationUrl:

A link to documentation for the component.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.documentation.url
  • Default: ${project.url}

kafkaConnectApi:

Whether or not the component is a Kafka Connect connector.
  • Type: java.lang.Boolean
  • Required: No
  • User Property: connect.component.features.kafkaConnectApi
  • Default: true

licenses:

A list of licenses associated with the component. Each license is comprised of a name, a url, and a logo. If no licenses are specified here, the list of licenses found at the top level of the project's POM is used. If you would like to ensure that no licenses are included, configure this explicitly as an empty list.
  • Type: java.util.List
  • Required: No

logo:

A logo to use for the component. Should consist of a project-local path to an image file; external URLs are not allowed.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.logo

name:

The name of the component.
  • Type: java.lang.String
  • Required: Yes
  • User Property: connect.component.name
  • Default: ${project.artifactId}

ownerLogo:

A logo to use for the owner of the component. Should consist of a project-local path to an image file; external URLs are not allowed.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.owner.logo

ownerName:

The name of the owner of the component (akin to a friendlier, more-human-readable version of the ownerUsername field.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.owner.name

ownerType:

The type of owner for the component. Either "organization" or "user".
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.owner.type

ownerUrl:

A link to a website for the owner of the component.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.owner.url

ownerUsername:

The username for the owner of the component. Must adhere to the regex [a-zA-Z0-9][a-zA-Z0-9_-]*.
  • Type: java.lang.String
  • Required: Yes
  • User Property: connect.component.owner.username

releaseDate:

The release date for the component. Must be in the format "yyyy-MM-dd".
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.releaseDate

requirements:

A list of requirements for the component.
  • Type: java.util.Set
  • Required: No
  • User Property: connect.component.requirements

singleMessageTransforms:

Whether or not the component supports single message transforms.
  • Type: java.lang.Boolean
  • Required: No
  • User Property: connect.component.features.singleMessageTransforms
  • Default: true

sourceUrl:

A link to source code for the component.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.source.url
  • Default: ${project.scm.url}

supportLogo:

A logo to use for the component supporter. Should consist of a project-local path to an image file; external URLs are not allowed.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.support.logo

supportProviderName:

The name of the support provider for the component.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.support.providerName

supportSummary:

The kind of support provided for the component.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.support.summary

supportUrl:

A link to a website for support for the component.
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.support.url

supportedEncodings:

A list of encodings supported by the component (if the component is a Kafka Connect connector, it is assumed to be able to support any encoding, in which case this should be set to ["any"]). Defaults to "any"; if you would like to specify that no encodings are supported or if the packaged component is not a Kafka connector (e.g., it is instead a converter or transform), configure this explicitly as an empty list.
  • Type: java.util.Set
  • Required: No

tags:

A list of search tags to associate with the component.
  • Type: java.util.Set
  • Required: No
  • User Property: connect.component.tags

title:

The title of the component (akin to a friendlier, more-human-readable version of the name field).
  • Type: java.lang.String
  • Required: No
  • User Property: connect.component.title
  • Default: ${project.name}

version:

The version of the component.
  • Type: java.lang.String
  • Required: Yes
  • User Property: connect.component.version
  • Default: ${project.version}