317 lines
14 KiB
YAML
317 lines
14 KiB
YAML
---
|
|
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. // +optional
|
|
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: {}
|