--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: connectors.platform.confluent.io spec: group: platform.confluent.io names: categories: - all - confluent-platform - confluent kind: Connector listKind: ConnectorList plural: connectors shortNames: - ctr - connector singular: connector scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.state name: Status type: string - jsonPath: .status.connectorState name: ConnectorStatus type: string - jsonPath: .status.tasksReady name: Tasks-Ready type: string - jsonPath: .metadata.creationTimestamp name: Age type: date - jsonPath: .status.connectRestEndpoint name: ConnectEndpoint priority: 1 type: string - jsonPath: .status.failedTasksCount name: Tasks-Failed priority: 1 type: string - jsonPath: .status.workerID name: WorkerID priority: 1 type: string - jsonPath: .status.restartPolicy.type name: RestartPolicy priority: 1 type: string - jsonPath: .status.kafkaClusterID name: KafkaClusterID priority: 1 type: string name: v1beta1 schema: openAPIV3Schema: description: Connector is the schema for the Connector 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 Connector. properties: class: description: class specifies the class name of the connector. The Connect cluster displays the supported class names in its status. minLength: 1 type: string configs: additionalProperties: type: string description: configs is a map of string key and value pairs. It specifies the additional configurations for the connector. type: object x-kubernetes-map-type: granular connectClusterRef: description: connectClusterRef references the CFK managed Connect 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 connectRest: description: connectRest specifies the Connect REST API connection 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 name: description: name specifies the connector name. If not configured, the Connector CR name is used as the connector name. maxLength: 255 minLength: 1 pattern: ^[a-zA-Z0-9\._\-]*$ type: string restartPolicy: description: restartPolicy specifies the policy to restart failed tasks of the connector. properties: maxRetry: description: maxRetry specifies the max number of tries to restart failed tasks when the `restartPolicy` type is `OnFailure`. The default value is `10`. format: int32 minimum: 1 type: integer type: description: type specifies the policy type to restart connector tasks. Valid options are `OnFailure` and `Never`. Default value is `OnFailure`, which means it will restart automatically when a task fails if the `maxRetry` value is not reached. enum: - OnFailure - Never type: string required: - type type: object taskMax: description: taskMax specifies the maximum number of tasks for the connector. It must be greater than 0. The connector may create fewer tasks if it cannot achieve this level of parallelism. format: int32 minimum: 1 type: integer required: - class - taskMax type: object status: description: status defines the observed state of the Connector. properties: appState: default: Unknown description: appState is the current state of the connector application. enum: - Unknown - Created - Failed - Deleted type: string conditions: description: conditions are the latest available observations of the connector state. 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 connectRestEndpoint: description: connectRestEndpoint is the REST endpoint of the Connect cluster. type: string connectorState: description: connectorState is the status of the connector instance. type: string failedTasks: additionalProperties: description: TaskStatus defines the connector task status. properties: id: description: Id is the id of the task. format: int32 type: integer retryCount: description: retryCount is the number of retry attempts to restart the failed task. format: int32 type: integer workerID: description: workerID is the workerId for the task. type: string required: - id type: object description: failedTasks is the map of connector tasks in the `FAILED` state. Error messages of failed tasks are logged in the CFK logs as `INFO`. You can also get the error message via Connect REST API calls. type: object x-kubernetes-map-type: granular failedTasksCount: description: failedTasksCount is the number of failed tasks. format: int32 type: integer kafkaClusterID: description: kafkaClusterID is the Kafka cluster id the connector belongs to. type: string observedGeneration: description: observedGeneration is the most recent generation observed for this Confluent component. format: int64 type: integer restartPolicy: description: restartPolicy is the policy to restart failed tasks of the connector. properties: maxRetry: description: maxRetry specifies the max number of tries to restart failed tasks when the `restartPolicy` type is `OnFailure`. The default value is `10`. format: int32 minimum: 1 type: integer type: description: type specifies the policy type to restart connector tasks. Valid options are `OnFailure` and `Never`. Default value is `OnFailure`, which means it will restart automatically when a task fails if the `maxRetry` value is not reached. enum: - OnFailure - Never type: string required: - type type: object state: description: state is the custom resource state of the connector. This is not the connector state, which can be `CREATED`, `ERROR`, etc. type: string tasksReady: description: 'tasksReady is the number of running tasks based on `taskMax`. The value is in the following format: `/`' type: string trace: description: trace is the error trace message for the connector instance. type: string workerID: description: workerID is the workerId of the connector instance. type: string type: object required: - spec type: object served: true storage: true subresources: status: {}