Configuration

Learn how to configure the extensions for Confluent Cloud.

Here, you will find the configuration for the Confluent Cloud extension.

Configuration

You can configure the properties to connect to Confluent Cloud through the Jikkou client configuration property jikkou.provider.confluent-cloud.

Example:

jikkou {
  provider.confluent-cloud {
    enabled = true
    type = io.jikkou.extension.confluent.ConfluentCloudExtensionProvider
    config = {
      # URL to the Confluent Cloud REST API (default: https://api.confluent.cloud)
      apiUrl = "https://api.confluent.cloud"
      # Confluent Cloud API Key (must be a Cloud API Key, not a Cluster API Key)
      apiKey = ${CONFLUENT_CLOUD_API_KEY}
      # Confluent Cloud API Secret
      apiSecret = ${CONFLUENT_CLOUD_API_SECRET}
      # CRN pattern used to scope role binding list operations
      crnPattern = ${CONFLUENT_CLOUD_CRN_PATTERN}
      # HTTP proxy URL, e.g. 'http://proxy.example.com:3128' (optional)
      proxyUrl = "http://proxy.example.com:3128"
      # Username for proxy Basic authentication (optional)
      proxyUsername = null
      # Password for proxy Basic authentication (optional)
      proxyPassword = null
      # Comma-separated hosts that bypass the proxy (optional)
      nonProxyHosts = "localhost,127.0.0.1"
      # Enable debug logging (default: false)
      debugLoggingEnabled = false
    }
  }
}

Configuration Properties

PropertyTypeRequiredDefaultDescription
apiUrlStringNohttps://api.confluent.cloudURL to the Confluent Cloud REST API.
apiKeyStringYesCloud API Key. Must be a Cloud API Key, not a Cluster API Key.
apiSecretStringYesCloud API Secret.
crnPatternStringYesCRN pattern to scope role binding list operations.
proxyUrlStringNoHTTP proxy URL, e.g. http://proxy.example.com:3128. When empty, JVM proxy system properties are used.
proxyUsernameStringNoUsername for proxy Basic authentication.
proxyPasswordStringNoPassword for proxy Basic authentication.
nonProxyHostsStringNoComma-separated hosts that bypass the proxy, e.g. localhost,*.internal.
debugLoggingEnabledBooleanNofalseEnable debug logging for REST API calls.

If proxyUrl is not set, Jikkou honors the standard JVM proxy system properties (-Dhttps.proxyHost, -Dhttp.proxyHost, -Dhttp.proxyUser, -Dhttp.proxyPassword, -Dhttp.nonProxyHosts), which can be supplied via JAVA_TOOL_OPTIONS. The OS-level http_proxy / https_proxy environment variables are not read by the JVM and have no effect.

Creating a Cloud API Key

Cloud API Keys can be created using the Confluent Cloud CLI:

confluent api-key create --resource cloud --description "Jikkou role binding management"

Important: You must use a Cloud API Key (organization-level), not a Cluster API Key. Cluster API Keys will result in a 401 Unauthorized error.

CRN Pattern

The crnPattern property is required and scopes all list operations to a specific part of your organization hierarchy. Examples:

ScopeCRN Pattern
Organizationcrn://confluent.cloud/organization=org-abc123
Environmentcrn://confluent.cloud/organization=org-abc123/environment=env-def456
Kafka Clustercrn://confluent.cloud/organization=org-abc123/environment=env-def456/cloud-cluster=lkc-789