ConsoleGroup
- API key(s): AdminToken
- Managed with: UI, CLI, API, TF
- Labels support: Missing
- CLI
- Terraform
spec.descriptionis optionalspec.externalGroupsis a list of LDAP or OIDC groups to sync with this Console Group- Members added this way will not appear in
spec.membersbutspec.membersFromExternalGroupsinstead
- Members added this way will not appear in
spec.externalGroupRegexis a list of regex patterns that can match to a series of LDAP or OIDC groups to sync with this Console group. Members added this way will not appear inspec.memberslist.- Supports regex patterns for dynamic group matching (e.g.,
^TEAM-.*to match all groups starting with “TEAM-”)
- Supports regex patterns for dynamic group matching (e.g.,
spec.membersFromExternalGroupsis a read-only list of members added throughspec.externalGroupsorspec.externalGroupRegexspec.membersmust be email addresses of members you wish to add to this groupspec.permissionsare valid permissions as defined in Permissions
- Console
- Members of the Group are given the associated permissions in the UI over the resources
- Members of the LDAP or OIDC groups will be automatically added or removed upon login
- Kafka
- No side effects
ConsoleUser
- API key(s): AdminToken
- Managed with: UI, CLI, API, TF
- Labels support: Missing
- CLI
- Terraform
- Console
- User is given the associated permissions in the UI over the resources
- Kafka
- No side effects
KafkaCluster
Creates a Kafka cluster definition in Console.- API key(s): AdminToken
- Managed with: UI, CLI, API, TF
- Labels support: Partial
- CLI
- Terraform
metadata.name, spec.displayName, spec.icon and spec.color are combined to create the visual identity of the KafkaCluster within Console.spec.icon(optional, defaultkafka) is a valid entry from our Icon Setsspec.color(optional, default#000000) is a HEX color forspec.iconspec.ignoreUntrustedCertificate(optional, defaultfalse) must be one of [true,false]spec.schemaRegistry.type(optional) must be one of [ConfluentLike,Glue]- See Schema Registry Properties for the detailed list of options
spec.kafkaFlavor.type(optional) must be one of [Confluent,Aiven,Gateway]- See Kafka Provider Properties for the detailed list of options
Schema registry
This section lets you associate a schema registry to your KafkaCluster.Confluent or Confluent-like Registry
- CLI
- Terraform
spec.schemaRegistry.urlsmust be a single URL of a Kafka Connect cluster- Multiple URLs are not supported for now. Coming soon
spec.schemaRegistry.ignoreUntrustedCertificate(optional, defaultfalse) must be one of [true,false]spec.schemaRegistry.properties(optional) is Java Properties formatted key values to further configure the SchemaRegistryspec.security.type(optional) must be one of [BasicAuth,BearerToken,SSLAuth]- See HTTP Security Properties for the detailed list of options
AWS Glue registry
- CLI
- Terraform
spec.schemaRegistry.regionmust be a valid AWS regionspec.schemaRegistry.registryNamemust be a valid AWS Glue Registry in this regionspec.schemaRegistry.security.typemust be one of [Credentials,FromContext,FromRole]
Use AWS API Key/Secret to connect to the Glue registry.
- CLI
- Terraform
- CLI
- Terraform
- CLI
- Terraform
Kafka provider
This section lets you configure the Kafka provider for this KafkaCluster. Confluent Cloud Provide your Confluent Cloud details to get additional features in Console:- Confluent Cloud service account support
- Confluent Cloud API key support
- CLI
- Terraform
- Aiven service accounts support
- Aiven ACLs support
- CLI
- Terraform
- Interceptor support
- CLI
- Terraform
Icon sets
cloudBolt | cloudRainbow | cloud | snowflake |
pooStorm | poop | bolt | umbrella |
tennisBall | rugbyBall | trafficCone | faucet |
basketShopping | box | scaleBalanced | sunglasses |
sword | axeBattle | vial | featherPointed |
bomb | flag | heart | key |
fireExtinguisher | fireFlameCurved | alien | helmetBattle |
ghost | robot | dog | elephant |
bird | crab | catSpace | planetRinged |
meteor | moon | spaceStation | rocketLaunch |
paperPlane | carSide | buildingColumns | castle |
acorn | burgerLettuce | croissant | mug |
cactus | clover | cameraCctv | calendar |
alarmClock | compass | gamepadModern | server |
shieldBlank | computerClassic | dharmachakra | kafka |
KafkaConnectCluster
Creates a Kafka Connect cluster definition in Console.- API key(s): AdminToken
- Managed with: API, CLI, UI, TF
- Labels support: Partial
- CLI
- Terraform
metadata.clusterhas to be a valid KafkaCluster name.spec.urlshas to be a single URL of a Kafka Connect cluster. Multiple URLs are not currently supported.spec.ignoreUntrustedCertificate(optional, defaultfalse). Has to betrueorfalse.spec.headers(optional) has to be key-value pairs of HTTP headers.spec.security.type(optional) has to beBasicAuth,BearerTokenorSSLAuth. Find out more.
KsqlDBCluster
- API key(s): AdminToken
- Managed with: UI, CLI, API
- Labels support: Missing
metadata.clusterhas to be a valid KafkaCluster name.spec.urlhas to be a single URL of a KsqlDB cluster.spec.ignoreUntrustedCertificate(optional), default isfalse. Has to betrueorfalse.spec.headers(optional) has to be key-value pairs of HTTP headers.spec.security.type(optional) has to beBasicAuth,BearerTokenorSSLAuth. Find out more.
Integrations
Manage your integrations for alerts in Console.- API key(s): AdminToken
- Managed with: UI, CLI, API
- **Labels support: Missing
metadata.namehas to be a valid integration name, here is the currently available integration: [Teams, Slack, Webhook, Email]specis equal to an empty object when you don’t have any configuration attached to a specific integration: [Teams, Webhook]spec.configshould be a valid configuration for [Slack, Email], thespec.config.typeshould match the name of the integration
Alerts
- API key(s): AdminToken, AppToken
- Managed with: UI, CLI, API
- Labels support: Missing
metadata.user|metadata.group|metadata.appInstancehas to be a valid user, group or appInstance.metadata.destination.typecan be eitherSlack,TeamsorWebhook. When set to:Slack: has to be a valid Slack channel IDTeams: has to be a valid Teams webhook URLWebhook:spec.destination.urlhas to be a valid URLspec.destination.methodhas to beGET,POST,PUTorDELETEspec.destination.headers(optional) has to be key-value pairs of HTTP headersspec.destination.authentication.type(optional) has to beBasicAuth(definespec.destination.authentication.usernameandspec.destination.authentication.password) orBearerToken(definespec.destination.authentication.token).
spec.clusterhas to be a valid KafkaCluster name.spec.typehas to beBrokerAlert,TopicAlert,KafkaConnectAlertorConsumerGroupAlert. When set to:BrokerAlert:spec.metrichas to beMessageIn,MessageOut,MessageSize,OfflinePartitionCount,PartitionCount,UnderMinIsrPartitionCountorUnderReplicatedPartitionCount.TopicAlert:spec.metrichas to beMessageCount,MessageIn,MessageOutorMessageSizeand thespec.topicNamehas to be a Kafka topic that the owner can access.KafkaConnectAlert:spec.metrichas to beFailedTaskCount;spec.connectNamehas to be a valid KafkaConnect cluster associated to thisspec.clusterKafka cluster andspec.connectorNamehas to be a Kafka Connect Connector that the owner can access.ConsumerGroupAlert:spec.metrichas to beOffsetLagorTimeLagandspec.consumerGroupNamehas to be a Kafka Consumer group that the owner can access.
spec.metricdepends on thespec.type.spec.operatorhas to beGreaterThan,GreaterThanOrEqual,LessThan,LessThanOrEqualorNotEqual.spec.thresholdhas to be a number.spec.description(optional) provides a text description of the alert.spec.displayName(optional) provides a display name for the alert.spec.disable(optional), default isfalse. Has to betrueorfalse.
Partner Zones
- API key(s): AdminToken
- Managed with: UI, CLI, API
- Labels support: Partial
spec.displayNameis mandatory.spec.description,spec.urlandspec.partner(optional), useful for context information.spec.clusterhas to be a valid Console cluster technical ID with the Provider configured as Gateway.spec.underlyingClusterhas to be a valid Console cluster technical ID where the cluster has to be defined under the Gateway defined by thespec.gatewayClusterId.- When not specified, the value is inferred to be equal to the
spec.gatewayClusterIdfield, hence selecting the main cluster behind Gateway by default.
- When not specified, the value is inferred to be equal to the
spec.authenticationMode.typemust be one of [PLAIN,OAUTHBEARER,MTLS]. See authentication examples for detailed configuration.spec.authenticationMode.serviceAccountrequirements depend on the authentication type:- PLAIN: Any unique identifier for your partner (e.g.,
partner-external-partner). This will be created as a local Gateway service account automatically if it doesn’t exist. - OAUTHBEARER: Must match the “sub” claim in the partner’s OAuth/OIDC token (e.g.,
oauth-partner-service-account). The partner needs to authenticate using their OAuth provider. - MTLS: Must match the client’s Distinguished Name (DN) from their certificate, unless you’ve modified
GATEWAY_SSL_PRINCIPAL_MAPPING_RULES(e.g.,CN=partner-client,OU=Engineering,O=PartnerCorp,C=US).
- PLAIN: Any unique identifier for your partner (e.g.,
spec.vclusterName(optional), custom name for the Virtual Cluster. If not provided, it will be auto-generated.topics[].nameis the name of the topic as it should appear to your external partner. This can be different frombackingTopic.topics[].backingTopicis the internal name of the topic that you want to share.topics[].permissionhas to be set to eitherREADorWRITE(which includesREAD).trafficControlPolicies.maxProduceRate(optional), sets the maximum rate (in bytes/s) at which the partner can produce messages to the topics per Gateway node.trafficControlPolicies.maxConsumeRate(optional), sets the maximum rate (in bytes/s) at which the partner can consume messages from the topics per Gateway node.trafficControlPolicies.limitCommitOffset(optional), sets the maximum number of commit requests (in requests/minute) that the partner can make per Gateway node.headers.addOnProduce(optional), list of headers to inject when producing messages. Thevaluefield supports special variables:{{user}},{{userIp}},{{clientId}},{{apiKey}},{{apiKeyVersion}},{{gatewayHost}},{{timestampMillis}}.headers.removeOnConsume(optional), list of header key patterns (regex) to remove when consuming messages.
metadata.updatedAt(by consecutive get from the CLI/API).metadata.status(by consecutive get from the CLI/API.) Possible values arePENDING,READYorFAILED.metadata.failedReasonwill be populated in case ofFAILEDstatus.- The service account will be created if it doesn’t exist and will be granted the permissions as declared in
spec.topics. - The traffic control policies will be applied to the service account.
DataQualityRule
- API key(s): AdminToken
- Managed with: UI, CLI, API
- Labels support: Yes
- CLI - CEL expression
- CLI - JSON Schema
metadata.nameis mandatory and must be unique.metadata.labelsis optional and can be used to organize rules.spec.typehas to be one of:Cel,JsonSchema,EnforceAvro,EnforceSchemaId.spec.displayNameis mandatory and is shown in the Console UI.spec.descriptionis optional but recommended to explain what the rule validates.spec.customErrorMessageis optional and provides a custom error message when validation fails.- For
Celtype:spec.celExpressionis mandatory and contains the CEL (Common Expression Language) expression to validate records.
- For
JsonSchematype:spec.schemais mandatory and contains the JSON schema object to validate records against.
- For
EnforceAvrotype:- Validates that records conform to an Avro schema.
- For
EnforceSchemaIdtype:- Validates that records use a specific schema ID from Schema Registry.
metadata.createdAt(read-only timestamp).metadata.updatedAt(read-only timestamp).metadata.createdBy(read-only user identifier).metadata.updatedBy(read-only user identifier).metadata.attachedPolicies(read-only list of policies using this rule).
DataQualityPolicy
- API key(s): AdminToken
- Managed with: UI, CLI, API
- Labels support: No
metadata.nameis mandatory and must be unique.spec.displayNameis mandatory and is shown in the Console UI.spec.descriptionis optional but recommended to explain the policy’s purpose.spec.rulesis a list of DataQualityRule names to apply (references to rules created separately).spec.targetsis mandatory and defines which topics the policy applies to:clusteris a valid Kafka cluster technical ID.topicis the topic name or prefix.patternTypehas to be eitherLITERAL(exact match) orPREFIXED(prefix match).
spec.actionsdefines what happens when a rule violation occurs:block.enabled(optional, defaults to false) - when true, blocks messages that violate rules from being produced. Only available if the configured cluster is a Conduktor Gateway cluster with the appropriate license.mark.enabled(optional, defaults to false) - when true, marks messages that violate rules with a header but allows production.
metadata.nameForMetrics(read-only identifier used in metrics).metadata.group(read-only group identifier).metadata.createdAt(read-only timestamp).metadata.updatedAt(read-only timestamp).metadata.createdBy(read-only user identifier).metadata.updatedBy(read-only user identifier).metadata.status(read-only status:failed,pending, orready).metadata.statuses(read-only per-cluster deployment status).metadata.metrics(read-only metrics showing evaluation and violation counts).metadata.attachedRules(read-only list of rules attached to this policy).- Data quality rules are enforced on the specified topics.
- Messages violating rules are blocked or marked based on the configured actions.
HTTP security properties
HTTP security properties are used in KafkaCluster (schema registry), KafkaConnect and KsqlDBCluster.Basic authentication
Bearer token
mTLS/client certificate
Permissions
Permissions are used in groups and users and lets you configure access to any Kafka resource or Console feature. A permission applies to a certainresourceType which affects the required fields.
- Topic permissions
- Subject permissions
- ConsumerGroup permissions
- Cluster permissions
- KafkaConnect permissions
- KsqlDB permissions
- Console permissions
Topic permissions
resourceType:TOPICclusteris a valid Kafka clusterpatternTypeis eitherPREFIXEDorLITERALnameis the name of the topic or topic prefix to apply the permissions topermissionsis a list of valid topic permissions
| Available topic permissions | Description |
|---|---|
topicConsume | Permission to consume messages from the topic. |
topicProduce | Permission to produce (write) messages to the topic. |
topicViewConfig | Permission to view the topic configuration. |
topicEditConfig | Permission to edit the topic configuration. |
topicCreate | Permission to create a new topic. |
topicDelete | Permission to delete the topic. |
topicAddPartition | Permission to add partitions to the topic. |
topicEmpty | Permission to empty (delete all messages from) the topic. |
topicDataQualityManage | Permission to manage data quality policies for the topic. |
Subject permissions
resourceType:SUBJECTclusteris a valid Kafka clusterpatternTypeis eitherPREFIXEDorLITERALnameis the name of the subject or subject prefix to apply the permissions topermissionsis a list of valid subject permissions
| Available subject permissions | Description |
|---|---|
subjectCreateUpdate | Permission to create or update the subject. |
subjectDelete | Permission to delete the subject. |
subjectEditCompatibility | Permission to edit the subject compatibility settings. |
subjectView | Permission to view the subject details. |
ConsumerGroup permissions
resourceType:CONSUMER_GROUPclusteris a valid Kafka clusterpatternTypeis eitherPREFIXEDorLITERALnameis the name of the consumer group or consumer group prefix to apply the permissions topermissionsis a list of valid consumer group permissions
| Available ConsumerGroup permissions | Description |
|---|---|
consumerGroupCreate | Permission to create a new consumer group. |
consumerGroupReset | Permission to reset the consumer group. |
consumerGroupDelete | Permission to delete the consumer group. |
consumerGroupView | Permission to view the consumer group details. |
Cluster permissions
resourceType:CLUSTERnameis the name of the cluster to apply the permissions to- Use
*for all clusters
- Use
permissionsis a list of valid cluster permissions
| Available cluster permissions | Description |
|---|---|
clusterViewBroker | Permission to view broker details. |
clusterEditSRCompatibility | Permission to edit schema registry compatibility settings. |
clusterEditBroker | Permission to edit broker configuration. |
clusterViewACL | Permission to view (ACLs) for the cluster. |
clusterManageACL | Permission to manage (ACLs) for the cluster. |
KafkaConnect permissions
resourceType:KAFKA_CONNECTclusteris a valid Kafka clusterkafkaConnectis a valid Kafka Connect clusterpatternTypeis eitherPREFIXEDorLITERALnameis the name of the connector or connector prefix to apply the permissions topermissionsis a list of valid Kafka Connect permissions
| Available KafkaConnect permission | Description |
|---|---|
kafkaConnectorViewConfig | Permission to view the Kafka Connect configuration. |
kafkaConnectorStatus | Permission to view the status of Kafka Connect connectors. |
kafkaConnectorEditConfig | Permission to edit the Kafka Connect configuration. |
kafkaConnectorDelete | Permission to delete connectors. |
kafkaConnectorCreate | Permission to create new connectors. |
kafkaConnectPauseResume | Permission to pause and resume connectors. |
kafkaConnectRestart | Permission to restart connectors. |
KsqlDB permissions
resourceType:KSQLDBclusteris a valid Kafka clusterksqlDBis a valid Kafka Connect clusterpermissionsis a list of valid KsqlDB permissions
| Available KafkaConnect permissions | Description |
|---|---|
ksqldbAccess | Grants all permissions on the KsqlDB cluster. |
Console permissions
resourceType:PLATFORMpermissionsis a list of valid Console permissions
| Available Console permissions | Description |
|---|---|
clusterConnectionsManage | Permission to add / edit / remove Kafka clusters on Console. |
certificateManage | Permission to add / edit / remove TLS certificates on Console. |
userManage | Permission to manage Console users, groups and permissions. |
userView | Permission to view Console users, groups and permissions. |
datamaskingManage | Permission to manage data policies (masking rules). |
datamaskingView | Permission to view data policies. |
notificationChannelManage | Permission to manage integration channels. |
auditLogView | Permission to browse audit log. |
taasView | Permission to view Application Catalog. |
chargebackManage | Permission to view Chargeback and manage its settings. |
sqlManage | Permission to view indexed topics and create SQL queries. |