A newer version of this documentation is available.

View Latest

Source Configuration Options

    +

    Reference of the source connector options.

    Connection

    couchbase.seed.nodes

    Addresses of Couchbase Server nodes, delimited by commas.

    If a custom port is specified, it must be the KV port (which is normally 11210 for insecure connections, or 11207 for secure connections).

    • Type: list

    • Importance: high

    couchbase.username

    Name of the Couchbase user to authenticate as.

    • Type: string

    • Importance: high

    couchbase.password

    Password of the Couchbase user.

    May be overridden with the KAFKA_COUCHBASE_PASSWORD environment variable.

    • Type: password

    • Importance: high

    couchbase.bucket

    Name of the Couchbase bucket to use.

    • Type: string

    • Importance: high

    couchbase.network

    The network selection strategy for connecting to a Couchbase Server cluster that advertises alternate addresses.

    A Couchbase node running inside a container environment (like Docker or Kubernetes) might be configured to advertise both its address within the container environment (known as its "default" address) as well as an "external" address for use by clients connecting from outside the environment.

    Setting the 'couchbase.network' config property to 'default' or 'external' forces the selection of the respective addresses. Setting the value to 'auto' tells the connector to select whichever network contains the addresses specified in the 'couchbase.seed.nodes' config property.

    • Type: string

    • Default: auto

    • Importance: medium

    couchbase.bootstrap.timeout

    On startup, the connector will wait this long for a Couchbase connection to be established. If a connection is not established before the timeout expires, the connector will terminate.

    • Type: string

    • Default: 30s

    • Valid Values: An integer followed by a time unit (ms = milliseconds, s = seconds, m = minutes, h = hours, d = days). For example, to specify 30 minutes: 30m

    • Importance: medium

    Security

    couchbase.enable.tls

    Use secure connection to Couchbase Server.

    If true, you must also tell the connector which certificate to trust. Specify a certificate file with 'couchbase.trust.certificate.path', or a Java keystore file with 'couchbase.trust.store.path' and 'couchbase.trust.store.password'.

    couchbase.enable.hostname.verification

    Set this to false to disable TLS hostname verification for Couchbase connections. Less secure, but might be required if for some reason you can’t issue a certificate whose Subject Alternative Names match the hostname used to connect to the server. Only disable if you understand the impact and can accept the risks.

    • Since: 4.0.4

    • Type: boolean

    • Default: true

    • Importance: medium

    couchbase.trust.store.path

    Absolute filesystem path to the Java keystore holding the CA certificate used by Couchbase Server.

    If you want to use a PEM file instead of a Java keystore, specify couchbase.trust.certificate.path instead.

    • Type: string

    • Default: ""

    • Importance: medium

    couchbase.trust.store.password

    Password for accessing the trust store.

    May be overridden with the KAFKA_COUCHBASE_TRUST_STORE_PASSWORD environment variable.

    • Type: password

    • Default: [hidden]

    • Importance: medium

    couchbase.trust.certificate.path

    Absolute filesystem path to the PEM file containing the CA certificate used by Couchbase Server.

    If you want to use a Java keystore instead of a PEM file, specify couchbase.trust.store.path instead.

    UNCOMMITTED; this feature may change in a patch release without notice.

    • Since: 4.0.5

    • Type: string

    • Default: ""

    • Importance: medium

    couchbase.client.certificate.path

    Absolute filesystem path to a Java keystore or PKCS12 bundle holding the private key and certificate chain to use for client certificate authentication (mutual TLS).

    If you supply a value for this config property, the couchbase.username and couchbase.password properties will be ignored.

    UNCOMMITTED; this feature may change in a patch release without notice.

    • Since: 4.0.4

    • Type: string

    • Default: ""

    • Importance: medium

    couchbase.client.certificate.password

    Password for accessing the client certificate.

    May be overridden with the KAFKA_COUCHBASE_CLIENT_CERTIFICATE_PASSWORD environment variable.

    UNCOMMITTED; this feature may change in a patch release without notice.

    • Since: 4.0.4

    • Type: password

    • Default: [hidden]

    • Importance: medium

    Logging

    couchbase.log.redaction

    Determines which kinds of sensitive log messages from the Couchbase connector will be tagged for later redaction by the Couchbase log redaction tool. NONE = no tagging; PARTIAL = user data is tagged; FULL = user, meta, and system data is tagged.

    • Type: string

    • Default: NONE

    • Valid Values: One of [NONE, PARTIAL, FULL]

    • Importance: medium

    couchbase.log.document.lifecycle

    If true, document lifecycle milestones will be logged at INFO level instead of DEBUG. Enabling this feature lets you watch documents flow through the connector. Disabled by default because it generates many log messages.

    UNCOMMITTED; this feature may change in a patch release without notice.

    • Since: 4.0.5

    • Type: boolean

    • Default: false

    • Importance: medium

    Source Behavior

    couchbase.topic

    Name of the Kafka topic to publish data to. This is a format string that recognizes the following placeholders:

    ${bucket} refers to the bucket containing the document.

    ${scope} refers to the scope containing the document.

    ${collection} refers to the collection containing the document.

    The behavior of the "scope" and "collection" placeholders may change in a patch release without notice.

    UNCOMMITTED; this feature may change in a patch release without notice.

    • Type: string

    • Default: ${bucket}.${scope}.${collection}

    • Importance: medium

    couchbase.source.handler

    The class name of the source handler to use. The source handler determines how the Couchbase document is converted into a Kafka record.

    To publish JSON messages identical to the Couchbase documents, use com.couchbase.connect.kafka.handler.source.RawJsonSourceHandler and set value.converter to org.apache.kafka.connect.converters.ByteArrayConverter.

    • Type: class

    • Importance: medium

    couchbase.event.filter

    The class name of the event filter to use. The event filter determines whether or not a database change event is ignored.

    • Type: class

    • Default: com.couchbase.connect.kafka.filter.AllPassFilter

    • Importance: medium

    couchbase.batch.size.max

    Controls maximum size of the batch for writing into topic.

    • Type: int

    • Default: 2000

    • Importance: medium

    couchbase.no.value

    If true, Couchbase Server will omit the document content when telling the connector about a change. The document key and metadata will still be present.

    If you don’t care about the content of changed documents, enabling this option is a great way to reduce the connector’s network bandwidth and memory usage.

    • Type: boolean

    • Default: false

    • Importance: medium

    couchbase.connector.name.in.offsets

    When true, the connector’s offsets are saved under a key that includes the connector name. This is redundant, since the Kafka Connect framework already isolates the offsets of connectors with different names.

    Set this to true only if you’ve previously deployed the connector to production with this set to true, and you do not wish to restart streaming from the beginning. Otherwise you should ignore this property.

    • Type: boolean

    • Default: false

    • Importance: medium

    couchbase.stream.from

    Controls when in history then connector starts streaming from.

    • Type: string

    • Default: SAVED_OFFSET_OR_BEGINNING

    • Valid Values: One of [SAVED_OFFSET_OR_BEGINNING, SAVED_OFFSET_OR_NOW, BEGINNING, NOW]

    • Importance: medium

    couchbase.scope

    If you wish to stream from all collections within a scope, specify the scope name here.

    If you specify neither "couchbase.scope" nor "couchbase.collections", the connector will stream from all collections of all scopes in the bucket.

    Requires Couchbase Server 7.0 or later.

    UNCOMMITTED; this feature may change in a patch release without notice.

    • Type: string

    • Default: ""

    • Importance: medium

    couchbase.collections

    If you wish to stream from specific collections, specify the qualified collection names here, separated by commas. A qualified name is the name of the scope followed by a dot (.) and then the name of the collection. For example: "tenant-foo.invoices".

    If you specify neither "couchbase.scope" nor "couchbase.collections", the connector will stream from all collections of all scopes in the bucket.

    Requires Couchbase Server 7.0 or later.

    UNCOMMITTED; this feature may change in a patch release without notice.

    • Type: list

    • Default: ""

    • Importance: medium

    Database Change Protocol

    couchbase.compression

    To reduce bandwidth usage, Couchbase Server 5.5 and later can send documents to the connector in compressed form. (Messages are always published to the Kafka topic in uncompressed form, regardless of this setting.)

    • Type: string

    • Default: ENABLED

    • Valid Values: One of [DISABLED, FORCED, ENABLED]

    • Importance: medium

    couchbase.persistence.polling.interval

    How frequently to poll Couchbase Server to see which changes are ready to be published. Specify 0 to disable polling, or an integer followed by a time qualifier (example: 100ms)

    • Type: string

    • Default: 100ms

    • Valid Values: An integer followed by a time unit (ms = milliseconds, s = seconds, m = minutes, h = hours, d = days). For example, to specify 30 minutes: 30m

    • Importance: medium

    couchbase.flow.control.buffer

    How much heap space should be allocated to the flow control buffer. Specify an integer followed by a size qualifier (example: 128m)

    • Type: string

    • Default: 128m

    • Valid Values: An integer followed by a size unit (b = bytes, k = kilobytes, m = megabytes, g = gigabytes). For example, to specify 64 megabytes: 64m

    • Importance: medium

    couchbase.xattrs

    Should filters and source handlers have access to a document’s extended attributes?

    UNCOMMITTED; this feature may change in a patch release without notice.

    • Since: 4.0.1

    • Type: boolean

    • Default: false

    • Importance: medium

    Parent topic: Kafka Connector

    Previous topic: Quickstart