--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: kafkatopics.platform.confluent.io spec: group: platform.confluent.io names: categories: - all - confluent-platform - confluent kind: KafkaTopic listKind: KafkaTopicList plural: kafkatopics shortNames: - kt - topic singular: kafkatopic scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.replicas name: Replicas type: string - jsonPath: .status.partitionCount name: Partition type: string - jsonPath: .status.state name: Status type: string - jsonPath: .status.kafkaClusterID name: ClusterID type: string - jsonPath: .metadata.creationTimestamp name: Age type: date - jsonPath: .status.kafkaCluster name: KafkaCluster priority: 1 type: string name: v1beta1 schema: openAPIV3Schema: description: KafkaTopic is the schema for the Kafka Topic API. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: spec defines the desired state of the KafkaTopic. properties: configs: additionalProperties: type: string description: 'configs is a map of string key and value pairs that are used to pass the configuration settings for the topic. More info: https://docs.confluent.io/current/installation/configuration/topic-configs.html.' type: object x-kubernetes-map-type: granular kafkaClusterRef: description: kafkaClusterRef specifies the name of the Kafka cluster. properties: name: description: name specifies the name of the Confluent Platform component cluster. type: string namespace: description: namespace specifies the namespace where the Confluent Platform component cluster is running. type: string required: - name type: object kafkaRest: description: kafkaRest specifies the Kafka REST API configuration. properties: authentication: description: authentication specifies the REST API authentication mechanism. properties: basic: description: basic specifies the basic authentication settings for the REST API client. properties: debug: description: debug enables the basic authentication debug logs for JaaS configuration. type: boolean directoryPathInContainer: description: 'directoryPathInContainer allows to pass the basic credential through a directory path in the container. More info: https://docs.confluent.io/operator/current/co-authenticate.html#basic-authentication' minLength: 1 type: string restrictedRoles: description: restrictedRoles specify the restricted roles on the server side only. Changes will be only reflected in Control Center. This configuration is ignored on the client side configuration. items: type: string minItems: 1 type: array roles: description: roles specify the roles on the server side only. This configuration is ignored on the client side configuration. items: type: string type: array secretRef: description: 'secretRef defines secret reference to pass the required credentials. More info: https://docs.confluent.io/operator/current/co-authenticate.html#basic-authentication' maxLength: 30 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string type: object bearer: description: bearer specifies the bearer authentication settings for the REST API client. properties: directoryPathInContainer: description: directoryPathInContainer specifies the directory path in the container where the credential is mounted. minLength: 1 type: string secretRef: description: 'secretRef specifies the name of the secret that contains the credential. More info: https://docs.confluent.io/operator/current/co-authenticate.html#bearer-authentication' maxLength: 30 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string type: object type: description: type specifies the REST API authentication type. Valid options are `basic`, `bearer`, and `mtls`. enum: - basic - bearer - mtls type: string required: - type type: object endpoint: description: endpoint specifies where Confluent REST API is running. minLength: 1 pattern: ^https?://.* type: string kafkaClusterID: description: kafkaClusterID specifies the id of Kafka cluster. It takes precedence over using the Kafka REST API to get the cluster id. minLength: 1 type: string tls: description: tls specifies the custom TLS structure for the application resources, e.g. connector, topic, schema, of the Confluent Platform components. properties: directoryPathInContainer: description: directoryPathInContainer contains the directory path in the container where `keystore.jks`, `truststore.jks`, `jksPassword.txt` keys are mounted. minLength: 1 type: string jksPassword: description: jksPassword specifies the secret name that contains the JKS password. properties: secretRef: description: 'secretRef references the name of the secret containing the JKS password. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates' maxLength: 30 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string required: - secretRef type: object secretRef: description: 'secretRef specifies the secret name that contains the certificates. More info about certificates key/value format: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates' maxLength: 63 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string type: object type: object kafkaRestClassRef: description: kafkaRestClassRef references the KafkaRestClass which defines Kafka REST API connection information. properties: name: description: name specifies the name of the KafkaRestClass application resource. minLength: 1 type: string namespace: description: namespace specifies the namespace of the KafkaRestClass. type: string required: - name type: object name: description: name specifies the topic name. If not configured, the KafkaTopic CR name is used as the topic name. maxLength: 255 minLength: 1 pattern: ^[a-zA-Z0-9\._\-]*$ type: string partitionCount: description: partitionCount specifies the number of partitions for the topic. If not configured, it will be defaulted to the partition count that Kafka REST V3 API supports. format: int32 type: integer replicas: description: replicas specifies the replication factor for the topic. If not configured, it will be defaulted to the replication factor that Kafka REST V3 API supports. format: int32 type: integer type: object status: description: status defines the observed state of the KafkaTopic. properties: appState: default: Unknown description: appState is the current state of the topic application. enum: - Unknown - Created - Failed - Deleted type: string conditions: description: conditions are the latest available observed states of the topic. items: description: Condition represent the latest available observations of the current state. properties: lastProbeTime: description: lastProbeTime shows the last time the condition was evaluated. format: date-time type: string lastTransitionTime: description: lastTransitionTime shows the last time the condition was transitioned from one status to another. format: date-time type: string message: description: message shows a human-readable message with details about the transition. type: string reason: description: reason shows the reason for the last transition of the condition. type: string status: description: status shows the status of the condition, one of `True`, `False`, or `Unknown`. type: string type: description: type shows the condition type. type: string type: object type: array kafkaCluster: type: string kafkaClusterID: description: kafkaClusterID is the id of the Kafka cluster. type: string kafkaRestEndpoint: description: kafkaRestEndpoint is the endpoint of the Kafka REST API. type: string observedGeneration: description: observedGeneration is the most recent generation observed for this Confluent component. format: int64 type: integer partitionCount: description: partitionCount is the partition count of the topic. format: int32 type: integer replicas: description: replicas is the replication factor of the topic. format: int32 type: integer state: description: state is the state of the topic. type: string type: object type: object served: true storage: true subresources: status: {}