MSK

9 resource kinds. Generated from the operator's CRD schemas.

API Group: aws.konfig.io/v1alpha1

MSKBatchScramSecret # CLOUD CONTROL · AWS::MSK::BatchScramSecret

MSKBatchScramSecret manages AWS::MSK::BatchScramSecret through the AWS Cloud Control API.

kubectl get mskbatchscramsecrets · example on GitHub

Example

# MSKBatchScramSecret — MSK
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kafka.html#mskbatchscramsecret
apiVersion: aws.konfig.io/v1alpha1
kind: MSKBatchScramSecret
metadata:
  name: example-mskbatchscramsecret
  namespace: default
spec:
  clusterArn: arn:aws:iam::123456789012:role/example-role
  providerRef:
    name: example-mskbatchscramsecret
    region: us-east-1
  secretArnList:
  - example

Spec

FieldTypeRequiredDescription
clusterArnstringyesCreate-only in AWS: changing it requires replacing the resource.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
secretArnListarray<string>—

Status

FieldTypeRequiredDescription
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.

MSKChannel # CLOUD CONTROL · AWS::MSK::Channel

MSKChannel manages AWS::MSK::Channel through the AWS Cloud Control API.

kubectl get mskchannels · example on GitHub

Example

# MSKChannel — MSK
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kafka.html#mskchannel
apiVersion: aws.konfig.io/v1alpha1
kind: MSKChannel
metadata:
  name: example-mskchannel
  namespace: default
spec:
  channelName: example-mskchannel
  clusterArn: arn:aws:iam::123456789012:role/example-role
  encryptionConfiguration:
    kmsKeyArn: arn:aws:iam::123456789012:role/example-role
  icebergDestinationConfiguration:
    appendOnly: false
    catalog:
      catalogArn: arn:aws:iam::123456789012:role/example-role
      warehouseLocation: example
    compressionType: ZSTD
    dataFreshnessInSeconds: 60
    deadLetterQueueS3:
      bucketArn: arn:aws:iam::123456789012:role/example-role
      errorOutputPrefix: example
      expectedBucketOwner: example
    destinationTableList:
    - destinationDatabaseName: example-mskchannel
      destinationTableName: example-mskchannel
    schemaEvolution:
      enableSchemaEvolution: true
    serviceExecutionRoleArn: arn:aws:iam::123456789012:role/example-role
    tableCreation:
      enableTableCreation: true
  loggingInfo:
    cloudWatchLogs:
      enabled: true
      logGroup: example
    firehose:
      deliveryStream: example
      enabled: true
    s3:
      bucket: example
      enabled: true
      prefix: example
  providerRef:
    name: example-mskchannel
    region: us-east-1
  s3DestinationConfiguration:
    dataFreshnessInSeconds: 60
    deadLetterQueueS3:
      bucketArn: arn:aws:iam::123456789012:role/example-role
      errorOutputPrefix: example
      expectedBucketOwner: example
    serviceExecutionRoleArn: arn:aws:iam::123456789012:role/example-role
    storage:
      bucketArn: arn:aws:iam::123456789012:role/example-role
      compressionType: NONE
      expectedBucketOwner: example
      outputKeyTemplate: example
      outputPrefix: example
      storageClass: STANDARD
  tags:
    environment: dev
    team: platform
  topicConfigurationList:
  - recordConverter:
      valueConverter: BYTE_ARRAY
    recordSchema:
      gsrArn: arn:aws:iam::123456789012:role/example-role
    topicArn: arn:aws:iam::123456789012:role/example-role

Spec

FieldTypeRequiredDescription
channelNamestringyesCreate-only in AWS: changing it requires replacing the resource.
clusterArnstring—The Amazon Resource Name (ARN) of the cluster Create-only in AWS: changing it requires replacing the resource.
encryptionConfigurationobject—Create-only in AWS: changing it requires replacing the resource.
encryptionConfiguration.kmsKeyArnstringyesThe ARN of the KMS key for encryption
icebergDestinationConfigurationobject—MSKChannelIcebergDestinationConfiguration is a nested property type of AWS::MSK::Channel.
icebergDestinationConfiguration.appendOnlybooleanyesAppend only mode
icebergDestinationConfiguration.catalogobject—MSKChannelCatalog is a nested property type of AWS::MSK::Channel.
icebergDestinationConfiguration.catalog.catalogArnstring—The ARN of the catalog
icebergDestinationConfiguration.catalog.warehouseLocationstring—The warehouse location
icebergDestinationConfiguration.compressionTypeenum—Allowed: ZSTD, SNAPPY
icebergDestinationConfiguration.dataFreshnessInSecondsinteger—Data freshness in seconds
icebergDestinationConfiguration.deadLetterQueueS3objectyesMSKChannelDeadLetterQueueS3 is a nested property type of AWS::MSK::Channel.
icebergDestinationConfiguration.deadLetterQueueS3.bucketArnstringyesThe ARN of the S3 bucket
icebergDestinationConfiguration.deadLetterQueueS3.errorOutputPrefixstringyesThe error output prefix
icebergDestinationConfiguration.deadLetterQueueS3.expectedBucketOwnerstring—Optional 12-digit AWS account ID expected to own the dead-letter S3 bucket
icebergDestinationConfiguration.destinationTableListarray<object>yesList of destination tables
icebergDestinationConfiguration.destinationTableList[].destinationDatabaseNamestringyesThe destination database name
icebergDestinationConfiguration.destinationTableList[].destinationTableNamestringyesThe destination table name
icebergDestinationConfiguration.destinationTableList[].partitionSpecobject—MSKChannelPartitionSpec is a nested property type of AWS::MSK::Channel.
icebergDestinationConfiguration.destinationTableList[].partitionSpec.partitionStrategyenumyesAllowed: TIME_HOUR
icebergDestinationConfiguration.destinationTableList[].partitionSpec.sourceListarray<object>—Source list
icebergDestinationConfiguration.destinationTableList[].partitionSpec.sourceList[].sourceNamestring—Source name
icebergDestinationConfiguration.schemaEvolutionobjectyesMSKChannelSchemaEvolution is a nested property type of AWS::MSK::Channel.
icebergDestinationConfiguration.schemaEvolution.enableSchemaEvolutionbooleanyesWhether schema evolution is enabled
icebergDestinationConfiguration.serviceExecutionRoleArnstringyesThe Amazon Resource Name (ARN) of an IAM role used by MSK to access the table
icebergDestinationConfiguration.tableCreationobjectyesMSKChannelTableCreation is a nested property type of AWS::MSK::Channel.
icebergDestinationConfiguration.tableCreation.enableTableCreationbooleanyesWhether table creation is enabled
loggingInfoobject—Create-only in AWS: changing it requires replacing the resource.
loggingInfo.cloudWatchLogsobject—MSKChannelCloudWatchLogsLogDestination is a nested property type of AWS::MSK::Channel.
loggingInfo.cloudWatchLogs.enabledbooleanyesWhether CloudWatch Logs logging is enabled
loggingInfo.cloudWatchLogs.logGroupstring—The CloudWatch log group for log delivery
loggingInfo.firehoseobject—MSKChannelFirehoseLogDestination is a nested property type of AWS::MSK::Channel.
loggingInfo.firehose.deliveryStreamstring—The Firehose delivery stream for log delivery
loggingInfo.firehose.enabledbooleanyesWhether Firehose logging is enabled
loggingInfo.s3object—MSKChannelS3LogDestination is a nested property type of AWS::MSK::Channel.
loggingInfo.s3.bucketstring—The name of the S3 bucket for log delivery
loggingInfo.s3.enabledbooleanyesWhether S3 logging is enabled
loggingInfo.s3.prefixstring—The S3 prefix for log delivery
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
s3DestinationConfigurationobject—MSKChannelS3DestinationConfiguration is a nested property type of AWS::MSK::Channel.
s3DestinationConfiguration.dataFreshnessInSecondsinteger—Data freshness in seconds
s3DestinationConfiguration.deadLetterQueueS3objectyesMSKChannelDeadLetterQueueS3 is a nested property type of AWS::MSK::Channel.
s3DestinationConfiguration.deadLetterQueueS3.bucketArnstringyesThe ARN of the S3 bucket
s3DestinationConfiguration.deadLetterQueueS3.errorOutputPrefixstringyesThe error output prefix
s3DestinationConfiguration.deadLetterQueueS3.expectedBucketOwnerstring—Optional 12-digit AWS account ID expected to own the dead-letter S3 bucket
s3DestinationConfiguration.serviceExecutionRoleArnstringyesThe Amazon Resource Name (ARN) of an IAM role used by MSK to access S3
s3DestinationConfiguration.storageobjectyesMSKChannelS3Storage is a nested property type of AWS::MSK::Channel.
s3DestinationConfiguration.storage.bucketArnstringyesARN of the S3 bucket
s3DestinationConfiguration.storage.compressionTypeenumyesAllowed: NONE, GZIP, ZSTD
s3DestinationConfiguration.storage.expectedBucketOwnerstring—Optional 12-digit AWS account ID expected to own the S3 bucket
s3DestinationConfiguration.storage.outputKeyTemplatestring—Template for S3 key for output objects, used for partitioning
s3DestinationConfiguration.storage.outputPrefixstring—Optional prefix for output objects
s3DestinationConfiguration.storage.storageClassenumyesAllowed: STANDARD, INTELLIGENT_TIERING, GLACIER_IR
tagsmap<string>—
topicConfigurationListarray<object>yesTopic configuration Create-only in AWS: changing it requires replacing the resource.
topicConfigurationList[].recordConverterobjectyesMSKChannelRecordConverter is a nested property type of AWS::MSK::Channel.
topicConfigurationList[].recordConverter.valueConverterenumyesAllowed: BYTE_ARRAY, JSON, JSON_SCHEMA_GSR, STRING
topicConfigurationList[].recordSchemaobject—MSKChannelRecordSchema is a nested property type of AWS::MSK::Channel.
topicConfigurationList[].recordSchema.gsrArnstringyesARN of Glue Schema Registry resource used for table schema
topicConfigurationList[].topicArnstringyesThe Amazon Resource Name (ARN) that uniquely identifies the topic

Status

FieldTypeRequiredDescription
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
channelArnstring—The Amazon Resource Name (ARN) that uniquely identifies the channel Read-only: reported by AWS after creation.
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.
stateInfoobject—Read-only: reported by AWS after creation.
stateInfo.codestring—Code for channel state
stateInfo.messagestring—Message for channel state
statusenum—Read-only: reported by AWS after creation. Allowed: CREATING, ACTIVE, UPDATING, DELETING, FAILED, SUSPENDING, SUSPENDED

MSKCluster # GA

MSKCluster is the Schema for managing MSK provisioned clusters.

kubectl get mskclusters · example on GitHub

Example

# MSKCluster — MSK
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kafka.html#mskcluster
apiVersion: aws.konfig.io/v1alpha1
kind: MSKCluster
metadata:
  name: example-mskcluster
  namespace: default
spec:
  brokerNodeGroupInfo:
    clientSubnets:
    - example
    instanceType: example
    securityGroups:
    - example
    storageVolumeSizeGiB: 2
  clusterName: example-mskcluster
  kafkaVersion: '1.0'
  numberOfBrokerNodes: 1
  providerRef:
    name: example-mskcluster
    region: us-east-1
  tags:
    environment: dev
    team: platform

Spec

FieldTypeRequiredDescription
brokerNodeGroupInfoobjectyesBrokerNodeGroupInfo defines the broker node configuration.
brokerNodeGroupInfo.clientSubnetsarray<string>yesClientSubnets is the list of subnets for the broker nodes.
brokerNodeGroupInfo.instanceTypestringyesInstanceType is the Amazon MSK broker instance type (e.g.
brokerNodeGroupInfo.securityGroupsarray<string>—SecurityGroups is the list of security group IDs for broker nodes.
brokerNodeGroupInfo.storageVolumeSizeGiBinteger—StorageVolumeSizeGiB is the EBS volume size in GiB per broker.
clusterNamestringyesClusterName is the name of the cluster.
kafkaVersionstringyesKafkaVersion is the Kafka version to deploy (e.g.
numberOfBrokerNodesintegeryesNumberOfBrokerNodes is the total number of broker nodes across all AZs.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
tagsmap<string>—Tags are metadata tags for the cluster.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
clusterARNstring—ClusterARN is the ARN of the MSK cluster.
clusterStatestring—ClusterState is the current state of the cluster (CREATING, ACTIVE, DELETING, etc.).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.

MSKClusterPolicy # CLOUD CONTROL · AWS::MSK::ClusterPolicy

MSKClusterPolicy manages AWS::MSK::ClusterPolicy through the AWS Cloud Control API.

kubectl get mskclusterpolicies · example on GitHub

Example

# MSKClusterPolicy — MSK
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kafka.html#mskclusterpolicy
apiVersion: aws.konfig.io/v1alpha1
kind: MSKClusterPolicy
metadata:
  name: example-mskclusterpolicy
  namespace: default
spec:
  clusterArn: arn:aws:iam::123456789012:role/example-role
  providerRef:
    name: example-mskclusterpolicy
    region: us-east-1

Spec

FieldTypeRequiredDescription
clusterArnstringyesThe arn of the cluster for the resource policy.
policyobjectyesA policy document containing permissions to add to the specified cluster.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.

Status

FieldTypeRequiredDescription
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
currentVersionstring—The current version of the policy attached to the specified cluster Read-only: reported by AWS after creation.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.

MSKConfiguration # GA

MSKConfiguration is the Schema for managing MSK cluster configurations.

kubectl get mskconfigurations · example on GitHub

Example

# MSKConfiguration — MSK
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kafka.html#mskconfiguration
apiVersion: aws.konfig.io/v1alpha1
kind: MSKConfiguration
metadata:
  name: example-mskconfiguration
  namespace: default
spec:
  description: Managed by konfig-konector
  kafkaVersions:
  - example
  name: example-mskconfiguration
  providerRef:
    name: example-mskconfiguration
    region: us-east-1
  serverProperties: example

Spec

FieldTypeRequiredDescription
descriptionstring—Description describes the configuration.
kafkaVersionsarray<string>—KafkaVersions is the list of Kafka version strings this configuration applies to.
namestringyesName is the name of the configuration.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
serverPropertiesstringyesServerProperties contains the kafka server.properties content.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
configurationARNstring—ConfigurationARN is the ARN of the MSK configuration.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
latestRevisioninteger—LatestRevision is the current revision number.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.

MSKReplicator # CLOUD CONTROL · AWS::MSK::Replicator

MSKReplicator manages AWS::MSK::Replicator through the AWS Cloud Control API.

kubectl get mskreplicators · example on GitHub

Example

# MSKReplicator — MSK
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kafka.html#mskreplicator
apiVersion: aws.konfig.io/v1alpha1
kind: MSKReplicator
metadata:
  name: example-mskreplicator
  namespace: default
spec:
  description: Managed by konfig-konector
  kafkaClusters:
  - amazonMskCluster:
      mskClusterArn: arn:aws:iam::123456789012:role/example-role
    apacheKafkaCluster:
      apacheKafkaClusterId: example-id
      bootstrapBrokerString: example
    encryptionInTransit:
      encryptionType: TLS
      rootCaCertificate: example
    vpcConfig:
      securityGroupIds:
      - example
      subnetIds:
      - example
  logDelivery:
    replicatorLogDelivery:
      cloudWatchLogs:
        enabled: true
        logGroup: example
      firehose:
        deliveryStream: example
        enabled: true
      s3:
        bucket: example
        enabled: true
        prefix: example
  providerRef:
    name: example-mskreplicator
    region: us-east-1
  replicationInfoList:
  - consumerGroupReplication:
      consumerGroupOffsetSyncMode: LEGACY
      consumerGroupsToExclude:
      - example
      consumerGroupsToReplicate:
      - example
      detectAndCopyNewConsumerGroups: false
      synchroniseConsumerGroupOffsets: false
    sourceKafkaClusterArn: arn:aws:iam::123456789012:role/example-role
    targetCompressionType: NONE
    targetKafkaClusterArn: arn:aws:iam::123456789012:role/example-role
    topicReplication:
      copyAccessControlListsForTopics: false
      copyTopicConfigurations: false
      detectAndCopyNewTopics: false
      topicsToExclude:
      - example
      topicsToReplicate:
      - example
  replicatorName: example-mskreplicator
  serviceExecutionRoleArn: arn:aws:iam::123456789012:role/example-role
  tags:
  - key: example
    value: example

Spec

FieldTypeRequiredDescription
descriptionstring—A summary description of the replicator.
kafkaClustersarray<object>yesSpecifies a list of Kafka clusters which are targets of the replicator.
kafkaClusters[].amazonMskClusterobject—Details of an Amazon MSK cluster.
kafkaClusters[].amazonMskCluster.mskClusterArnstringyesThe ARN of an Amazon MSK cluster.
kafkaClusters[].apacheKafkaClusterobject—Details of an Apache Kafka cluster.
kafkaClusters[].apacheKafkaCluster.apacheKafkaClusterIdstringyesThe ID of the Apache Kafka cluster.
kafkaClusters[].apacheKafkaCluster.bootstrapBrokerStringstringyesThe bootstrap broker string of the Apache Kafka cluster.
kafkaClusters[].clientAuthenticationobject—Details of the client authentication used by the Apache Kafka cluster.
kafkaClusters[].clientAuthentication.mtlsobject—Details for mTLS client authentication.
kafkaClusters[].clientAuthentication.mtls.secretArnstringyesThe Amazon Resource Name (ARN) of the Secrets Manager secret.
kafkaClusters[].clientAuthentication.saslOAuthBearerobject—Details for client authentication using SASL/OAUTHBEARER.
kafkaClusters[].clientAuthentication.saslOAuthBearer.clientCredentialsobject—Details for SASL/OAUTHBEARER using standard client_credentials grant.
kafkaClusters[].clientAuthentication.saslOAuthBearer.clientCredentials.tokenRequestSecretArnstringyesSecrets Manager ARN of the secret containing the client_id and client_secret used to obtain an OAuth Bearer token via the client_credentials grant.
kafkaClusters[].clientAuthentication.saslOAuthBearer.clientCredentialsAssertionobject—Details for SASL/OAUTHBEARER using client credentials grant with JWT client assertion (RFC 7521/7523).
kafkaClusters[].clientAuthentication.saslOAuthBearer.clientCredentialsAssertion.audiencestringyesThe audience (aud claim) set in the STS JWT client assertion.
kafkaClusters[].clientAuthentication.saslOAuthBearer.clientCredentialsAssertion.signingAlgorithmenumyesThe algorithm used to sign the JWT client assertion. Allowed: RS256, ES384
kafkaClusters[].clientAuthentication.saslOAuthBearer.clientCredentialsAssertion.tokenRequestSecretArnstring—Optional Secrets Manager ARN for identity providers that require client_id as a form parameter alongside the JWT client assertion.
kafkaClusters[].clientAuthentication.saslOAuthBearer.iamJwtBearerobject—Details for SASL/OAUTHBEARER using JWT Bearer assertion grant (RFC 7523).
kafkaClusters[].clientAuthentication.saslOAuthBearer.iamJwtBearer.audiencestringyesThe audience (aud claim) set in the STS JWT assertion.
kafkaClusters[].clientAuthentication.saslOAuthBearer.iamJwtBearer.signingAlgorithmenumyesThe algorithm used to sign the JWT assertion. Allowed: RS256, ES384
kafkaClusters[].clientAuthentication.saslOAuthBearer.iamJwtBearer.tokenRequestSecretArnstring—Optional Secrets Manager ARN for identity providers that require client authentication alongside the JWT Bearer assertion.
kafkaClusters[].clientAuthentication.saslOAuthBearer.scopestring—OAuth scope to request.
kafkaClusters[].clientAuthentication.saslOAuthBearer.tokenEndpointAuthenticationMethodenumyesHow client credentials are sent to the identity provider (POST, BASIC, or NONE). Allowed: POST, BASIC, NONE
kafkaClusters[].clientAuthentication.saslOAuthBearer.tokenEndpointTlsCertificateArnstring—Secrets Manager ARN containing a custom CA certificate for the identity provider.
kafkaClusters[].clientAuthentication.saslOAuthBearer.tokenEndpointUrlstringyesThe HTTPS URL of the OAuth token endpoint that vends OAuth Bearer tokens per RFC 6749.
kafkaClusters[].clientAuthentication.saslScramobject—Details for SASL/SCRAM client authentication.
kafkaClusters[].clientAuthentication.saslScram.mechanismenumyesThe SASL/SCRAM authentication mechanism. Allowed: SHA256, SHA512
kafkaClusters[].clientAuthentication.saslScram.secretArnstringyesThe Amazon Resource Name (ARN) of the Secrets Manager secret.
kafkaClusters[].encryptionInTransitobject—Details of encryption in transit to the Apache Kafka cluster.
kafkaClusters[].encryptionInTransit.encryptionTypeenumyesThe type of encryption in transit to the Apache Kafka cluster. Allowed: TLS
kafkaClusters[].encryptionInTransit.rootCaCertificatestring—The root CA certificate.
kafkaClusters[].vpcConfigobject—Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.
kafkaClusters[].vpcConfig.securityGroupIdsarray<string>—The AWS security groups to associate with the elastic network interfaces in order to specify what the replicator has access to.
kafkaClusters[].vpcConfig.subnetIdsarray<string>yesThe list of subnets to connect to in the virtual private cloud (VPC).
logDeliveryobject—Configuration for log delivery for the replicator.
logDelivery.replicatorLogDeliveryobject—The replicator logs configuration.
logDelivery.replicatorLogDelivery.cloudWatchLogsobject—Details of the CloudWatch Logs destination for replicator logs.
logDelivery.replicatorLogDelivery.cloudWatchLogs.enabledbooleanyesWhether log delivery to CloudWatch Logs is enabled.
logDelivery.replicatorLogDelivery.cloudWatchLogs.logGroupstring—The CloudWatch log group that is the destination for log delivery.
logDelivery.replicatorLogDelivery.firehoseobject—Details of the Kinesis Data Firehose delivery stream that is the destination for replicator logs.
logDelivery.replicatorLogDelivery.firehose.deliveryStreamstring—The Firehose delivery stream that is the destination for log delivery.
logDelivery.replicatorLogDelivery.firehose.enabledbooleanyesWhether log delivery to Firehose is enabled.
logDelivery.replicatorLogDelivery.s3object—Details of the Amazon S3 destination for replicator logs.
logDelivery.replicatorLogDelivery.s3.bucketstring—The S3 bucket that is the destination for log delivery.
logDelivery.replicatorLogDelivery.s3.enabledbooleanyesWhether log delivery to S3 is enabled.
logDelivery.replicatorLogDelivery.s3.prefixstring—The S3 prefix that is the destination for log delivery.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
replicationInfoListarray<object>yesA list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
replicationInfoList[].consumerGroupReplicationobjectyesConfiguration relating to consumer group replication.
replicationInfoList[].consumerGroupReplication.consumerGroupOffsetSyncModeenum—The consumer group offset synchronization mode. Allowed: LEGACY, ENHANCED
replicationInfoList[].consumerGroupReplication.consumerGroupsToExcludearray<string>—List of regular expression patterns indicating the consumer groups that should not be replicated.
replicationInfoList[].consumerGroupReplication.consumerGroupsToReplicatearray<string>yesList of regular expression patterns indicating the consumer groups to copy.
replicationInfoList[].consumerGroupReplication.detectAndCopyNewConsumerGroupsboolean—Whether to periodically check for new consumer groups.
replicationInfoList[].consumerGroupReplication.synchroniseConsumerGroupOffsetsboolean—Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster.
replicationInfoList[].sourceKafkaClusterArnstring—Amazon Resource Name of the source Kafka cluster.
replicationInfoList[].sourceKafkaClusterIdstring—The ID of the source Kafka cluster.
replicationInfoList[].targetCompressionTypeenumyesThe type of compression to use writing records to target Kafka cluster. Allowed: NONE, GZIP, SNAPPY, LZ4, ZSTD
replicationInfoList[].targetKafkaClusterArnstring—Amazon Resource Name of the target Kafka cluster.
replicationInfoList[].targetKafkaClusterIdstring—The ID of the target Kafka cluster.
replicationInfoList[].topicReplicationobjectyesConfiguration relating to topic replication.
replicationInfoList[].topicReplication.copyAccessControlListsForTopicsboolean—Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
replicationInfoList[].topicReplication.copyTopicConfigurationsboolean—Whether to periodically configure remote topics to match their corresponding upstream topics.
replicationInfoList[].topicReplication.detectAndCopyNewTopicsboolean—Whether to periodically check for new topics and partitions.
replicationInfoList[].topicReplication.startingPositionobject—Configuration for specifying the position in the topics to start replicating from.
replicationInfoList[].topicReplication.startingPosition.typeenum—Allowed: LATEST, EARLIEST
replicationInfoList[].topicReplication.topicNameConfigurationobject—Configuration for specifying replicated topic names should be the same as their corresponding upstream topics or prefixed with source cluster alias.
replicationInfoList[].topicReplication.topicNameConfiguration.typeenum—Allowed: PREFIXED_WITH_SOURCE_CLUSTER_ALIAS, IDENTICAL
replicationInfoList[].topicReplication.topicsToExcludearray<string>—List of regular expression patterns indicating the topics that should not be replicated.
replicationInfoList[].topicReplication.topicsToReplicatearray<string>yesList of regular expression patterns indicating the topics to copy.
replicatorNamestringyesThe name of the replicator.
serviceExecutionRoleArnstringyesThe Amazon Resource Name (ARN) of the IAM role used by the replicator to access external resources.
tagsarray<object>—A collection of tags associated with a resource
tags[].keystringyes
tags[].valuestringyes

Status

FieldTypeRequiredDescription
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
currentVersionstring—The current version of the MSK replicator.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
replicatorArnstring—Amazon Resource Name for the created replicator.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.

MSKServerlessCluster # GA

MSKServerlessCluster is the Schema for managing MSK serverless clusters.

kubectl get mskserverlessclusters · example on GitHub

Example

# MSKServerlessCluster — MSK
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kafka.html#mskserverlesscluster
apiVersion: aws.konfig.io/v1alpha1
kind: MSKServerlessCluster
metadata:
  name: example-mskserverlesscluster
  namespace: default
spec:
  clusterName: example-mskserverlesscluster
  providerRef:
    name: example-mskserverlesscluster
    region: us-east-1
  tags:
    environment: dev
    team: platform
  vpcConfigs:
  - securityGroupIDs:
    - example
    subnetIDs:
    - example

Spec

FieldTypeRequiredDescription
clusterNamestringyesClusterName is the name of the serverless cluster.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
tagsmap<string>—Tags are metadata tags for the cluster.
vpcConfigsarray<object>yesVpcConfigs is the list of VPC configurations.
vpcConfigs[].securityGroupIDsarray<string>—SecurityGroupIDs is the list of security group IDs.
vpcConfigs[].subnetIDsarray<string>yesSubnetIDs is the list of subnet IDs.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
clusterARNstring—ClusterARN is the ARN of the serverless MSK cluster.
clusterStatestring—ClusterState is the current state of the cluster.
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.

MSKTopic # CLOUD CONTROL · AWS::MSK::Topic

MSKTopic manages AWS::MSK::Topic through the AWS Cloud Control API.

kubectl get msktopics · example on GitHub

Example

# MSKTopic — MSK
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kafka.html#msktopic
apiVersion: aws.konfig.io/v1alpha1
kind: MSKTopic
metadata:
  name: example-msktopic
  namespace: default
spec:
  clusterArn: arn:aws:iam::123456789012:role/example-role
  configs: example
  partitionCount: 1
  providerRef:
    name: example-msktopic
    region: us-east-1
  replicationFactor: 1
  topicName: example-msktopic

Spec

FieldTypeRequiredDescription
clusterArnstringyesThe Amazon Resource Name (ARN) of the MSK cluster Create-only in AWS: changing it requires replacing the resource.
configsstring—Base64 encoded configuration properties of the topic
partitionCountintegeryesThe number of partitions for the topic
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
replicationFactorintegeryesThe replication factor for the topic Create-only in AWS: changing it requires replacing the resource.
topicNamestringyesThe name of the topic Create-only in AWS: changing it requires replacing the resource.

Status

FieldTypeRequiredDescription
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.
topicArnstring—The Amazon Resource Name (ARN) of the topic Read-only: reported by AWS after creation.

MSKVpcConnection # CLOUD CONTROL · AWS::MSK::VpcConnection

MSKVpcConnection manages AWS::MSK::VpcConnection through the AWS Cloud Control API.

kubectl get mskvpcconnections · example on GitHub

Example

# MSKVpcConnection — MSK
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kafka.html#mskvpcconnection
apiVersion: aws.konfig.io/v1alpha1
kind: MSKVpcConnection
metadata:
  name: example-mskvpcconnection
  namespace: default
spec:
  authentication: SASL_IAM
  clientSubnets:
  - example
  providerRef:
    name: example-mskvpcconnection
    region: us-east-1
  securityGroups:
  - example
  tags:
    environment: dev
    team: platform
  targetClusterArn: arn:aws:iam::123456789012:role/example-role
  vpcId: vpc-0abc12def3456789

Spec

FieldTypeRequiredDescription
authenticationenumyesCreate-only in AWS: changing it requires replacing the resource. Allowed: SASL_IAM, SASL_SCRAM, TLS
clientSubnetsarray<string>yesCreate-only in AWS: changing it requires replacing the resource.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
securityGroupsarray<string>yesCreate-only in AWS: changing it requires replacing the resource.
tagsmap<string>—
targetClusterArnstringyesThe Amazon Resource Name (ARN) of the target cluster Create-only in AWS: changing it requires replacing the resource.
vpcIdstringyesCreate-only in AWS: changing it requires replacing the resource.

Status

FieldTypeRequiredDescription
arnstring—Read-only: reported by AWS after creation.
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.