403 lines
18 KiB
YAML
403 lines
18 KiB
YAML
|
---
|
||
|
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: `<number of running tasks>/<taskMax>`'
|
||
|
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: {}
|