You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2770 lines
146 KiB
2770 lines
146 KiB
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: kafkaconnects.kafka.strimzi.io
|
|
labels:
|
|
app: strimzi
|
|
strimzi.io/crd-install: "true"
|
|
component: kafkaconnects.kafka.strimzi.io-crd
|
|
spec:
|
|
group: kafka.strimzi.io
|
|
names:
|
|
kind: KafkaConnect
|
|
listKind: KafkaConnectList
|
|
singular: kafkaconnect
|
|
plural: kafkaconnects
|
|
shortNames:
|
|
- kc
|
|
categories:
|
|
- strimzi
|
|
scope: Namespaced
|
|
conversion:
|
|
strategy: None
|
|
versions:
|
|
- name: v1beta2
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
scale:
|
|
specReplicasPath: .spec.replicas
|
|
statusReplicasPath: .status.replicas
|
|
labelSelectorPath: .status.labelSelector
|
|
additionalPrinterColumns:
|
|
- name: Desired replicas
|
|
description: The desired number of Kafka Connect replicas
|
|
jsonPath: .spec.replicas
|
|
type: integer
|
|
- name: Ready
|
|
description: The state of the custom resource
|
|
jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
|
|
type: string
|
|
schema:
|
|
openAPIV3Schema:
|
|
type: object
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
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"
|
|
kind:
|
|
type: string
|
|
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"
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
type: object
|
|
properties:
|
|
version:
|
|
type: string
|
|
description: The Kafka Connect version. Defaults to the latest version. Consult the user documentation to understand the process required to upgrade or downgrade the version.
|
|
replicas:
|
|
type: integer
|
|
description: The number of pods in the Kafka Connect group. Defaults to `3`.
|
|
image:
|
|
type: string
|
|
description: "The container image used for Kafka Connect pods. If no image name is explicitly specified, it is determined based on the `spec.version` configuration. The image names are specifically mapped to corresponding versions in the Cluster Operator configuration."
|
|
bootstrapServers:
|
|
type: string
|
|
description: Bootstrap servers to connect to. This should be given as a comma separated list of _<hostname>_:_<port>_ pairs.
|
|
tls:
|
|
type: object
|
|
properties:
|
|
trustedCertificates:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
secretName:
|
|
type: string
|
|
description: The name of the Secret containing the certificate.
|
|
certificate:
|
|
type: string
|
|
description: The name of the file certificate in the secret.
|
|
pattern:
|
|
type: string
|
|
description: "Pattern for the certificate files in the secret. Use the link:https://en.wikipedia.org/wiki/Glob_(programming)[_glob syntax_] for the pattern. All files in the secret that match the pattern are used."
|
|
oneOf:
|
|
- properties:
|
|
certificate: {}
|
|
required:
|
|
- certificate
|
|
- properties:
|
|
pattern: {}
|
|
required:
|
|
- pattern
|
|
required:
|
|
- secretName
|
|
description: Trusted certificates for TLS connection.
|
|
description: TLS configuration.
|
|
authentication:
|
|
type: object
|
|
properties:
|
|
accessToken:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: The key under which the secret value is stored in the Kubernetes Secret.
|
|
secretName:
|
|
type: string
|
|
description: The name of the Kubernetes Secret containing the secret value.
|
|
required:
|
|
- key
|
|
- secretName
|
|
description: Link to Kubernetes Secret containing the access token which was obtained from the authorization server.
|
|
accessTokenIsJwt:
|
|
type: boolean
|
|
description: Configure whether access token should be treated as JWT. This should be set to `false` if the authorization server returns opaque tokens. Defaults to `true`.
|
|
accessTokenLocation:
|
|
type: string
|
|
description: Path to the token file containing an access token to be used for authentication.
|
|
audience:
|
|
type: string
|
|
description: "OAuth audience to use when authenticating against the authorization server. Some authorization servers require the audience to be explicitly set. The possible values depend on how the authorization server is configured. By default, `audience` is not specified when performing the token endpoint request."
|
|
certificateAndKey:
|
|
type: object
|
|
properties:
|
|
secretName:
|
|
type: string
|
|
description: The name of the Secret containing the certificate.
|
|
certificate:
|
|
type: string
|
|
description: The name of the file certificate in the Secret.
|
|
key:
|
|
type: string
|
|
description: The name of the private key in the Secret.
|
|
required:
|
|
- secretName
|
|
- certificate
|
|
- key
|
|
description: Reference to the `Secret` which holds the certificate and private key pair.
|
|
clientAssertion:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: The key under which the secret value is stored in the Kubernetes Secret.
|
|
secretName:
|
|
type: string
|
|
description: The name of the Kubernetes Secret containing the secret value.
|
|
required:
|
|
- key
|
|
- secretName
|
|
description: Link to Kubernetes secret containing the client assertion which was manually configured for the client.
|
|
clientAssertionLocation:
|
|
type: string
|
|
description: Path to the file containing the client assertion to be used for authentication.
|
|
clientAssertionType:
|
|
type: string
|
|
description: "The client assertion type. If not set, and either `clientAssertion` or `clientAssertionLocation` is configured, this value defaults to `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`."
|
|
clientId:
|
|
type: string
|
|
description: OAuth Client ID which the Kafka client can use to authenticate against the OAuth server and use the token endpoint URI.
|
|
clientSecret:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: The key under which the secret value is stored in the Kubernetes Secret.
|
|
secretName:
|
|
type: string
|
|
description: The name of the Kubernetes Secret containing the secret value.
|
|
required:
|
|
- key
|
|
- secretName
|
|
description: Link to Kubernetes Secret containing the OAuth client secret which the Kafka client can use to authenticate against the OAuth server and use the token endpoint URI.
|
|
connectTimeoutSeconds:
|
|
type: integer
|
|
description: "The connect timeout in seconds when connecting to authorization server. If not set, the effective connect timeout is 60 seconds."
|
|
disableTlsHostnameVerification:
|
|
type: boolean
|
|
description: Enable or disable TLS hostname verification. Default value is `false`.
|
|
enableMetrics:
|
|
type: boolean
|
|
description: Enable or disable OAuth metrics. Default value is `false`.
|
|
httpRetries:
|
|
type: integer
|
|
description: "The maximum number of retries to attempt if an initial HTTP request fails. If not set, the default is to not attempt any retries."
|
|
httpRetryPauseMs:
|
|
type: integer
|
|
description: "The pause to take before retrying a failed HTTP request. If not set, the default is to not pause at all but to immediately repeat a request."
|
|
includeAcceptHeader:
|
|
type: boolean
|
|
description: Whether the Accept header should be set in requests to the authorization servers. The default value is `true`.
|
|
maxTokenExpirySeconds:
|
|
type: integer
|
|
description: Set or limit time-to-live of the access tokens to the specified number of seconds. This should be set if the authorization server returns opaque tokens.
|
|
passwordSecret:
|
|
type: object
|
|
properties:
|
|
secretName:
|
|
type: string
|
|
description: The name of the Secret containing the password.
|
|
password:
|
|
type: string
|
|
description: The name of the key in the Secret under which the password is stored.
|
|
required:
|
|
- secretName
|
|
- password
|
|
description: Reference to the `Secret` which holds the password.
|
|
readTimeoutSeconds:
|
|
type: integer
|
|
description: "The read timeout in seconds when connecting to authorization server. If not set, the effective read timeout is 60 seconds."
|
|
refreshToken:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: The key under which the secret value is stored in the Kubernetes Secret.
|
|
secretName:
|
|
type: string
|
|
description: The name of the Kubernetes Secret containing the secret value.
|
|
required:
|
|
- key
|
|
- secretName
|
|
description: Link to Kubernetes Secret containing the refresh token which can be used to obtain access token from the authorization server.
|
|
saslExtensions:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: SASL extensions parameters.
|
|
scope:
|
|
type: string
|
|
description: OAuth scope to use when authenticating against the authorization server. Some authorization servers require this to be set. The possible values depend on how authorization server is configured. By default `scope` is not specified when doing the token endpoint request.
|
|
tlsTrustedCertificates:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
secretName:
|
|
type: string
|
|
description: The name of the Secret containing the certificate.
|
|
certificate:
|
|
type: string
|
|
description: The name of the file certificate in the secret.
|
|
pattern:
|
|
type: string
|
|
description: "Pattern for the certificate files in the secret. Use the link:https://en.wikipedia.org/wiki/Glob_(programming)[_glob syntax_] for the pattern. All files in the secret that match the pattern are used."
|
|
oneOf:
|
|
- properties:
|
|
certificate: {}
|
|
required:
|
|
- certificate
|
|
- properties:
|
|
pattern: {}
|
|
required:
|
|
- pattern
|
|
required:
|
|
- secretName
|
|
description: Trusted certificates for TLS connection to the OAuth server.
|
|
tokenEndpointUri:
|
|
type: string
|
|
description: Authorization server token endpoint URI.
|
|
type:
|
|
type: string
|
|
enum:
|
|
- tls
|
|
- scram-sha-256
|
|
- scram-sha-512
|
|
- plain
|
|
- oauth
|
|
description: "Authentication type. Currently the supported types are `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, and 'oauth'. `scram-sha-256` and `scram-sha-512` types use SASL SCRAM-SHA-256 and SASL SCRAM-SHA-512 Authentication, respectively. `plain` type uses SASL PLAIN Authentication. `oauth` type uses SASL OAUTHBEARER Authentication. The `tls` type uses TLS Client Authentication. The `tls` type is supported only over TLS connections."
|
|
username:
|
|
type: string
|
|
description: Username used for the authentication.
|
|
required:
|
|
- type
|
|
description: Authentication configuration for Kafka Connect.
|
|
config:
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: object
|
|
description: "The Kafka Connect configuration. Properties with the following prefixes cannot be set: ssl., sasl., security., listeners, plugin.path, rest., bootstrap.servers, consumer.interceptor.classes, producer.interceptor.classes (with the exception of: ssl.endpoint.identification.algorithm, ssl.cipher.suites, ssl.protocol, ssl.enabled.protocols)."
|
|
resources:
|
|
type: object
|
|
properties:
|
|
claims:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$"
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$"
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
description: The maximum limits for CPU and memory resources and the requested initial resources.
|
|
livenessProbe:
|
|
type: object
|
|
properties:
|
|
initialDelaySeconds:
|
|
type: integer
|
|
minimum: 0
|
|
description: The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.
|
|
timeoutSeconds:
|
|
type: integer
|
|
minimum: 1
|
|
description: The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.
|
|
periodSeconds:
|
|
type: integer
|
|
minimum: 1
|
|
description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
|
|
successThreshold:
|
|
type: integer
|
|
minimum: 1
|
|
description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.
|
|
failureThreshold:
|
|
type: integer
|
|
minimum: 1
|
|
description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
|
|
description: Pod liveness checking.
|
|
readinessProbe:
|
|
type: object
|
|
properties:
|
|
initialDelaySeconds:
|
|
type: integer
|
|
minimum: 0
|
|
description: The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.
|
|
timeoutSeconds:
|
|
type: integer
|
|
minimum: 1
|
|
description: The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.
|
|
periodSeconds:
|
|
type: integer
|
|
minimum: 1
|
|
description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
|
|
successThreshold:
|
|
type: integer
|
|
minimum: 1
|
|
description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.
|
|
failureThreshold:
|
|
type: integer
|
|
minimum: 1
|
|
description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
|
|
description: Pod readiness checking.
|
|
jvmOptions:
|
|
type: object
|
|
properties:
|
|
"-XX":
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: A map of -XX options to the JVM.
|
|
"-Xmx":
|
|
type: string
|
|
pattern: "^[0-9]+[mMgG]?$"
|
|
description: -Xmx option to to the JVM.
|
|
"-Xms":
|
|
type: string
|
|
pattern: "^[0-9]+[mMgG]?$"
|
|
description: -Xms option to to the JVM.
|
|
gcLoggingEnabled:
|
|
type: boolean
|
|
description: Specifies whether the Garbage Collection logging is enabled. The default is false.
|
|
javaSystemProperties:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: The system property name.
|
|
value:
|
|
type: string
|
|
description: The system property value.
|
|
description: A map of additional system properties which will be passed using the `-D` option to the JVM.
|
|
description: JVM Options for pods.
|
|
jmxOptions:
|
|
type: object
|
|
properties:
|
|
authentication:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
- password
|
|
description: Authentication type. Currently the only supported types are `password`.`password` type creates a username and protected port with no TLS.
|
|
required:
|
|
- type
|
|
description: Authentication configuration for connecting to the JMX port.
|
|
description: JMX Options.
|
|
logging:
|
|
type: object
|
|
properties:
|
|
loggers:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: A Map from logger name to logger level.
|
|
type:
|
|
type: string
|
|
enum:
|
|
- inline
|
|
- external
|
|
description: "Logging type, must be either 'inline' or 'external'."
|
|
valueFrom:
|
|
type: object
|
|
properties:
|
|
configMapKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to the key in the ConfigMap containing the configuration.
|
|
description: '`ConfigMap` entry where the logging configuration is stored. '
|
|
required:
|
|
- type
|
|
description: Logging configuration for Kafka Connect.
|
|
clientRackInitImage:
|
|
type: string
|
|
description: The image of the init container used for initializing the `client.rack`.
|
|
rack:
|
|
type: object
|
|
properties:
|
|
topologyKey:
|
|
type: string
|
|
example: topology.kubernetes.io/zone
|
|
description: "A key that matches labels assigned to the Kubernetes cluster nodes. The value of the label is used to set a broker's `broker.rack` config, and the `client.rack` config for Kafka Connect or MirrorMaker 2."
|
|
required:
|
|
- topologyKey
|
|
description: Configuration of the node label which will be used as the `client.rack` consumer configuration.
|
|
metricsConfig:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
- jmxPrometheusExporter
|
|
- strimziMetricsReporter
|
|
description: Metrics type. The supported types are `jmxPrometheusExporter` and `strimziMetricsReporter`. Type `jmxPrometheusExporter` uses the Prometheus JMX Exporter to expose Kafka JMX metrics in Prometheus format through an HTTP endpoint. Type `strimziMetricsReporter` uses the Strimzi Metrics Reporter to directly expose Kafka metrics in Prometheus format through an HTTP endpoint.
|
|
valueFrom:
|
|
type: object
|
|
properties:
|
|
configMapKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to the key in the ConfigMap containing the configuration.
|
|
description: ConfigMap entry where the Prometheus JMX Exporter configuration is stored.
|
|
values:
|
|
type: object
|
|
properties:
|
|
allowList:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: A list of regex patterns to filter the metrics to collect. Should contain at least one element.
|
|
description: Configuration values for the Strimzi Metrics Reporter.
|
|
required:
|
|
- type
|
|
description: "Metrics configuration. Only `jmxPrometheusExporter` can be configured, as this component does not yet support `strimziMetricsReporter`."
|
|
x-kubernetes-validations:
|
|
- rule: self.type != 'jmxPrometheusExporter' || has(self.valueFrom)
|
|
message: valueFrom property is required
|
|
- rule: self.type != 'strimziMetricsReporter'
|
|
message: value type not supported
|
|
tracing:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum:
|
|
- jaeger
|
|
- opentelemetry
|
|
description: "Type of the tracing used. Currently the only supported type is `opentelemetry` for OpenTelemetry tracing. As of Strimzi 0.37.0, `jaeger` type is not supported anymore and this option is ignored."
|
|
required:
|
|
- type
|
|
description: The configuration of tracing in Kafka Connect.
|
|
template:
|
|
type: object
|
|
properties:
|
|
deployment:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
deploymentStrategy:
|
|
type: string
|
|
enum:
|
|
- RollingUpdate
|
|
- Recreate
|
|
description: Pod replacement strategy for deployment configuration changes. Valid values are `RollingUpdate` and `Recreate`. Defaults to `RollingUpdate`.
|
|
description: Template for Kafka Connect `Deployment`.
|
|
podSet:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
description: Template for Kafka Connect `StrimziPodSet` resource.
|
|
pod:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
imagePullSecrets:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: "List of references to secrets in the same namespace to use for pulling any of the images used by this Pod. When the `STRIMZI_IMAGE_PULL_SECRETS` environment variable in Cluster Operator and the `imagePullSecrets` option are specified, only the `imagePullSecrets` variable is used and the `STRIMZI_IMAGE_PULL_SECRETS` variable is ignored."
|
|
securityContext:
|
|
type: object
|
|
properties:
|
|
appArmorProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
fsGroup:
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
type: string
|
|
runAsGroup:
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
type: integer
|
|
seLinuxChangePolicy:
|
|
type: string
|
|
seLinuxOptions:
|
|
type: object
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
seccompProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
supplementalGroups:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
supplementalGroupsPolicy:
|
|
type: string
|
|
sysctls:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
windowsOptions:
|
|
type: object
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
description: Configures pod-level security attributes and common container settings.
|
|
terminationGracePeriodSeconds:
|
|
type: integer
|
|
minimum: 0
|
|
description: "The grace period is the duration in seconds after the processes running in the pod are sent a termination signal, and the time when the processes are forcibly halted with a kill signal. Set this value to longer than the expected cleanup time for your process. Value must be a non-negative integer. A zero value indicates delete immediately. You might need to increase the grace period for very large Kafka clusters, so that the Kafka brokers have enough time to transfer their work to another broker before they are terminated. Defaults to 30 seconds."
|
|
affinity:
|
|
type: object
|
|
properties:
|
|
nodeAffinity:
|
|
type: object
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
preference:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchFields:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
weight:
|
|
type: integer
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
type: object
|
|
properties:
|
|
nodeSelectorTerms:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchFields:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
podAffinity:
|
|
type: object
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
podAffinityTerm:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mismatchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
namespaceSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
namespaces:
|
|
type: array
|
|
items:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
weight:
|
|
type: integer
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mismatchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
namespaceSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
namespaces:
|
|
type: array
|
|
items:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
podAntiAffinity:
|
|
type: object
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
podAffinityTerm:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mismatchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
namespaceSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
namespaces:
|
|
type: array
|
|
items:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
weight:
|
|
type: integer
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mismatchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
namespaceSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
namespaces:
|
|
type: array
|
|
items:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
description: The pod's affinity rules.
|
|
tolerations:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
type: integer
|
|
value:
|
|
type: string
|
|
description: The pod's tolerations.
|
|
topologySpreadConstraints:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
maxSkew:
|
|
type: integer
|
|
minDomains:
|
|
type: integer
|
|
nodeAffinityPolicy:
|
|
type: string
|
|
nodeTaintsPolicy:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
whenUnsatisfiable:
|
|
type: string
|
|
description: The pod's topology spread constraints.
|
|
priorityClassName:
|
|
type: string
|
|
description: 'The name of the priority class used to assign priority to the pods. '
|
|
schedulerName:
|
|
type: string
|
|
description: "The name of the scheduler used to dispatch this `Pod`. If not specified, the default scheduler will be used."
|
|
hostAliases:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
hostnames:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ip:
|
|
type: string
|
|
description: The pod's HostAliases. HostAliases is an optional list of hosts and IPs that will be injected into the Pod's hosts file if specified.
|
|
dnsPolicy:
|
|
type: string
|
|
enum:
|
|
- ClusterFirst
|
|
- ClusterFirstWithHostNet
|
|
- Default
|
|
- None
|
|
description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`."
|
|
dnsConfig:
|
|
type: object
|
|
properties:
|
|
nameservers:
|
|
type: array
|
|
items:
|
|
type: string
|
|
options:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
searches:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy."
|
|
enableServiceLinks:
|
|
type: boolean
|
|
description: Indicates whether information about services should be injected into Pod's environment variables.
|
|
tmpDirSizeLimit:
|
|
type: string
|
|
pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"
|
|
description: "Defines the total amount of pod memory allocated for the temporary `EmptyDir` volume `/tmp`. Specify the allocation in memory units, for example, `100Mi` for 100 mebibytes. Default value is `5Mi`. The `/tmp` volume is backed by pod memory, not disk storage, so avoid setting a high value as it consumes pod memory resources."
|
|
volumes:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Name to use for the volume. Required.
|
|
secret:
|
|
type: object
|
|
properties:
|
|
defaultMode:
|
|
type: integer
|
|
items:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
type: integer
|
|
path:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
description: '`Secret` to use to populate the volume.'
|
|
configMap:
|
|
type: object
|
|
properties:
|
|
defaultMode:
|
|
type: integer
|
|
items:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
type: integer
|
|
path:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: '`ConfigMap` to use to populate the volume.'
|
|
emptyDir:
|
|
type: object
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
type: object
|
|
properties:
|
|
amount:
|
|
type: string
|
|
format:
|
|
type: string
|
|
description: '`EmptyDir` to use to populate the volume.'
|
|
persistentVolumeClaim:
|
|
type: object
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
description: '`PersistentVolumeClaim` object to use to populate the volume.'
|
|
csi:
|
|
type: object
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: '`CSIVolumeSource` object to use to populate the volume.'
|
|
image:
|
|
type: object
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
description: '`ImageVolumeSource` object to use to populate the volume.'
|
|
oneOf:
|
|
- properties:
|
|
secret: {}
|
|
configMap: {}
|
|
emptyDir: {}
|
|
persistentVolumeClaim: {}
|
|
csi: {}
|
|
image: {}
|
|
description: Additional volumes that can be mounted to the pod.
|
|
description: Template for Kafka Connect `Pods`.
|
|
apiService:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
ipFamilyPolicy:
|
|
type: string
|
|
enum:
|
|
- SingleStack
|
|
- PreferDualStack
|
|
- RequireDualStack
|
|
description: "Specifies the IP Family Policy used by the service. Available options are `SingleStack`, `PreferDualStack` and `RequireDualStack`. `SingleStack` is for a single IP family. `PreferDualStack` is for two IP families on dual-stack configured clusters or a single IP family on single-stack clusters. `RequireDualStack` fails unless there are two IP families on dual-stack configured clusters. If unspecified, Kubernetes will choose the default value based on the service type."
|
|
ipFamilies:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- IPv4
|
|
- IPv6
|
|
description: "Specifies the IP Families used by the service. Available options are `IPv4` and `IPv6`. If unspecified, Kubernetes will choose the default value based on the `ipFamilyPolicy` setting."
|
|
description: Template for Kafka Connect API `Service`.
|
|
headlessService:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
ipFamilyPolicy:
|
|
type: string
|
|
enum:
|
|
- SingleStack
|
|
- PreferDualStack
|
|
- RequireDualStack
|
|
description: "Specifies the IP Family Policy used by the service. Available options are `SingleStack`, `PreferDualStack` and `RequireDualStack`. `SingleStack` is for a single IP family. `PreferDualStack` is for two IP families on dual-stack configured clusters or a single IP family on single-stack clusters. `RequireDualStack` fails unless there are two IP families on dual-stack configured clusters. If unspecified, Kubernetes will choose the default value based on the service type."
|
|
ipFamilies:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum:
|
|
- IPv4
|
|
- IPv6
|
|
description: "Specifies the IP Families used by the service. Available options are `IPv4` and `IPv6`. If unspecified, Kubernetes will choose the default value based on the `ipFamilyPolicy` setting."
|
|
description: Template for Kafka Connect headless `Service`.
|
|
connectContainer:
|
|
type: object
|
|
properties:
|
|
env:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: The environment variable key.
|
|
value:
|
|
type: string
|
|
description: The environment variable value.
|
|
valueFrom:
|
|
type: object
|
|
properties:
|
|
secretKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to a key in a secret.
|
|
configMapKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to a key in a config map.
|
|
oneOf:
|
|
- properties:
|
|
secretKeyRef: {}
|
|
required:
|
|
- secretKeyRef
|
|
- properties:
|
|
configMapKeyRef: {}
|
|
required:
|
|
- configMapKeyRef
|
|
description: Reference to the secret or config map property to which the environment variable is set.
|
|
oneOf:
|
|
- properties:
|
|
value: {}
|
|
required:
|
|
- value
|
|
- properties:
|
|
valueFrom: {}
|
|
required:
|
|
- valueFrom
|
|
description: Environment variables which should be applied to the container.
|
|
securityContext:
|
|
type: object
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
capabilities:
|
|
type: object
|
|
properties:
|
|
add:
|
|
type: array
|
|
items:
|
|
type: string
|
|
drop:
|
|
type: array
|
|
items:
|
|
type: string
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
type: integer
|
|
seLinuxOptions:
|
|
type: object
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
seccompProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
windowsOptions:
|
|
type: object
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
description: Security context for the container.
|
|
volumeMounts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
description: Additional volume mounts which should be applied to the container.
|
|
description: Template for the Kafka Connect container.
|
|
initContainer:
|
|
type: object
|
|
properties:
|
|
env:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: The environment variable key.
|
|
value:
|
|
type: string
|
|
description: The environment variable value.
|
|
valueFrom:
|
|
type: object
|
|
properties:
|
|
secretKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to a key in a secret.
|
|
configMapKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to a key in a config map.
|
|
oneOf:
|
|
- properties:
|
|
secretKeyRef: {}
|
|
required:
|
|
- secretKeyRef
|
|
- properties:
|
|
configMapKeyRef: {}
|
|
required:
|
|
- configMapKeyRef
|
|
description: Reference to the secret or config map property to which the environment variable is set.
|
|
oneOf:
|
|
- properties:
|
|
value: {}
|
|
required:
|
|
- value
|
|
- properties:
|
|
valueFrom: {}
|
|
required:
|
|
- valueFrom
|
|
description: Environment variables which should be applied to the container.
|
|
securityContext:
|
|
type: object
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
capabilities:
|
|
type: object
|
|
properties:
|
|
add:
|
|
type: array
|
|
items:
|
|
type: string
|
|
drop:
|
|
type: array
|
|
items:
|
|
type: string
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
type: integer
|
|
seLinuxOptions:
|
|
type: object
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
seccompProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
windowsOptions:
|
|
type: object
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
description: Security context for the container.
|
|
volumeMounts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
description: Additional volume mounts which should be applied to the container.
|
|
description: Template for the Kafka init container.
|
|
podDisruptionBudget:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata to apply to the `PodDisruptionBudgetTemplate` resource.
|
|
maxUnavailable:
|
|
type: integer
|
|
minimum: 0
|
|
description: "Maximum number of unavailable pods to allow automatic Pod eviction. A Pod eviction is allowed when the `maxUnavailable` number of pods or fewer are unavailable after the eviction. Setting this value to 0 prevents all voluntary evictions, so the pods must be evicted manually. Defaults to 1."
|
|
description: Template for Kafka Connect `PodDisruptionBudget`.
|
|
serviceAccount:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
description: Template for the Kafka Connect service account.
|
|
clusterRoleBinding:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
description: Template for the Kafka Connect ClusterRoleBinding.
|
|
buildPod:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
imagePullSecrets:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: "List of references to secrets in the same namespace to use for pulling any of the images used by this Pod. When the `STRIMZI_IMAGE_PULL_SECRETS` environment variable in Cluster Operator and the `imagePullSecrets` option are specified, only the `imagePullSecrets` variable is used and the `STRIMZI_IMAGE_PULL_SECRETS` variable is ignored."
|
|
securityContext:
|
|
type: object
|
|
properties:
|
|
appArmorProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
fsGroup:
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
type: string
|
|
runAsGroup:
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
type: integer
|
|
seLinuxChangePolicy:
|
|
type: string
|
|
seLinuxOptions:
|
|
type: object
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
seccompProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
supplementalGroups:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
supplementalGroupsPolicy:
|
|
type: string
|
|
sysctls:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
windowsOptions:
|
|
type: object
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
description: Configures pod-level security attributes and common container settings.
|
|
terminationGracePeriodSeconds:
|
|
type: integer
|
|
minimum: 0
|
|
description: "The grace period is the duration in seconds after the processes running in the pod are sent a termination signal, and the time when the processes are forcibly halted with a kill signal. Set this value to longer than the expected cleanup time for your process. Value must be a non-negative integer. A zero value indicates delete immediately. You might need to increase the grace period for very large Kafka clusters, so that the Kafka brokers have enough time to transfer their work to another broker before they are terminated. Defaults to 30 seconds."
|
|
affinity:
|
|
type: object
|
|
properties:
|
|
nodeAffinity:
|
|
type: object
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
preference:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchFields:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
weight:
|
|
type: integer
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
type: object
|
|
properties:
|
|
nodeSelectorTerms:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchFields:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
podAffinity:
|
|
type: object
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
podAffinityTerm:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mismatchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
namespaceSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
namespaces:
|
|
type: array
|
|
items:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
weight:
|
|
type: integer
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mismatchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
namespaceSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
namespaces:
|
|
type: array
|
|
items:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
podAntiAffinity:
|
|
type: object
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
podAffinityTerm:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mismatchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
namespaceSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
namespaces:
|
|
type: array
|
|
items:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
weight:
|
|
type: integer
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
mismatchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
namespaceSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
namespaces:
|
|
type: array
|
|
items:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
description: The pod's affinity rules.
|
|
tolerations:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
type: integer
|
|
value:
|
|
type: string
|
|
description: The pod's tolerations.
|
|
topologySpreadConstraints:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
labelSelector:
|
|
type: object
|
|
properties:
|
|
matchExpressions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
type: array
|
|
items:
|
|
type: string
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
matchLabelKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
maxSkew:
|
|
type: integer
|
|
minDomains:
|
|
type: integer
|
|
nodeAffinityPolicy:
|
|
type: string
|
|
nodeTaintsPolicy:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
whenUnsatisfiable:
|
|
type: string
|
|
description: The pod's topology spread constraints.
|
|
priorityClassName:
|
|
type: string
|
|
description: 'The name of the priority class used to assign priority to the pods. '
|
|
schedulerName:
|
|
type: string
|
|
description: "The name of the scheduler used to dispatch this `Pod`. If not specified, the default scheduler will be used."
|
|
hostAliases:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
hostnames:
|
|
type: array
|
|
items:
|
|
type: string
|
|
ip:
|
|
type: string
|
|
description: The pod's HostAliases. HostAliases is an optional list of hosts and IPs that will be injected into the Pod's hosts file if specified.
|
|
dnsPolicy:
|
|
type: string
|
|
enum:
|
|
- ClusterFirst
|
|
- ClusterFirstWithHostNet
|
|
- Default
|
|
- None
|
|
description: "The pod's DNSPolicy. Defaults to `ClusterFirst`. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`."
|
|
dnsConfig:
|
|
type: object
|
|
properties:
|
|
nameservers:
|
|
type: array
|
|
items:
|
|
type: string
|
|
options:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
searches:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: "The pod's DNSConfig. If specified, it will be merged to the generated DNS configuration based on the DNSPolicy."
|
|
enableServiceLinks:
|
|
type: boolean
|
|
description: Indicates whether information about services should be injected into Pod's environment variables.
|
|
tmpDirSizeLimit:
|
|
type: string
|
|
pattern: "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"
|
|
description: "Defines the total amount of pod memory allocated for the temporary `EmptyDir` volume `/tmp`. Specify the allocation in memory units, for example, `100Mi` for 100 mebibytes. Default value is `5Mi`. The `/tmp` volume is backed by pod memory, not disk storage, so avoid setting a high value as it consumes pod memory resources."
|
|
volumes:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Name to use for the volume. Required.
|
|
secret:
|
|
type: object
|
|
properties:
|
|
defaultMode:
|
|
type: integer
|
|
items:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
type: integer
|
|
path:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
description: '`Secret` to use to populate the volume.'
|
|
configMap:
|
|
type: object
|
|
properties:
|
|
defaultMode:
|
|
type: integer
|
|
items:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
type: integer
|
|
path:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: '`ConfigMap` to use to populate the volume.'
|
|
emptyDir:
|
|
type: object
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
type: object
|
|
properties:
|
|
amount:
|
|
type: string
|
|
format:
|
|
type: string
|
|
description: '`EmptyDir` to use to populate the volume.'
|
|
persistentVolumeClaim:
|
|
type: object
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
description: '`PersistentVolumeClaim` object to use to populate the volume.'
|
|
csi:
|
|
type: object
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: '`CSIVolumeSource` object to use to populate the volume.'
|
|
image:
|
|
type: object
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
description: '`ImageVolumeSource` object to use to populate the volume.'
|
|
oneOf:
|
|
- properties:
|
|
secret: {}
|
|
configMap: {}
|
|
emptyDir: {}
|
|
persistentVolumeClaim: {}
|
|
csi: {}
|
|
image: {}
|
|
description: Additional volumes that can be mounted to the pod.
|
|
description: Template for Kafka Connect Build `Pods`. The build pod is used only on Kubernetes.
|
|
buildContainer:
|
|
type: object
|
|
properties:
|
|
env:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: The environment variable key.
|
|
value:
|
|
type: string
|
|
description: The environment variable value.
|
|
valueFrom:
|
|
type: object
|
|
properties:
|
|
secretKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to a key in a secret.
|
|
configMapKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to a key in a config map.
|
|
oneOf:
|
|
- properties:
|
|
secretKeyRef: {}
|
|
required:
|
|
- secretKeyRef
|
|
- properties:
|
|
configMapKeyRef: {}
|
|
required:
|
|
- configMapKeyRef
|
|
description: Reference to the secret or config map property to which the environment variable is set.
|
|
oneOf:
|
|
- properties:
|
|
value: {}
|
|
required:
|
|
- value
|
|
- properties:
|
|
valueFrom: {}
|
|
required:
|
|
- valueFrom
|
|
description: Environment variables which should be applied to the container.
|
|
securityContext:
|
|
type: object
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
capabilities:
|
|
type: object
|
|
properties:
|
|
add:
|
|
type: array
|
|
items:
|
|
type: string
|
|
drop:
|
|
type: array
|
|
items:
|
|
type: string
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
type: integer
|
|
seLinuxOptions:
|
|
type: object
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
seccompProfile:
|
|
type: object
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
windowsOptions:
|
|
type: object
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
description: Security context for the container.
|
|
volumeMounts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
description: Additional volume mounts which should be applied to the container.
|
|
description: Template for the Kafka Connect Build container. The build container is used only on Kubernetes.
|
|
buildConfig:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata to apply to the `PodDisruptionBudgetTemplate` resource.
|
|
pullSecret:
|
|
type: string
|
|
description: Container Registry Secret with the credentials for pulling the base image.
|
|
description: Template for the Kafka Connect BuildConfig used to build new container images. The BuildConfig is used only on OpenShift.
|
|
buildServiceAccount:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
description: Template for the Kafka Connect Build service account.
|
|
jmxSecret:
|
|
type: object
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Labels added to the Kubernetes resource.
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
description: Annotations added to the Kubernetes resource.
|
|
description: Metadata applied to the resource.
|
|
description: Template for Secret of the Kafka Connect Cluster JMX authentication.
|
|
description: "Template for Kafka Connect and Kafka MirrorMaker 2 resources. The template allows users to specify how the `Pods`, `Service`, and other services are generated."
|
|
externalConfiguration:
|
|
type: object
|
|
properties:
|
|
env:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Name of the environment variable which will be passed to the Kafka Connect pods. The name of the environment variable cannot start with `KAFKA_` or `STRIMZI_`.
|
|
valueFrom:
|
|
type: object
|
|
properties:
|
|
secretKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to a key in a Secret.
|
|
configMapKeyRef:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to a key in a ConfigMap.
|
|
oneOf:
|
|
- properties:
|
|
secretKeyRef: {}
|
|
required:
|
|
- secretKeyRef
|
|
- properties:
|
|
configMapKeyRef: {}
|
|
required:
|
|
- configMapKeyRef
|
|
description: Value of the environment variable which will be passed to the Kafka Connect pods. It can be passed either as a reference to Secret or ConfigMap field. The field has to specify exactly one Secret or ConfigMap.
|
|
required:
|
|
- name
|
|
- valueFrom
|
|
description: Makes data from a Secret or ConfigMap available in the Kafka Connect pods as environment variables.
|
|
volumes:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Name of the volume which will be added to the Kafka Connect pods.
|
|
secret:
|
|
type: object
|
|
properties:
|
|
defaultMode:
|
|
type: integer
|
|
items:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
type: integer
|
|
path:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
description: Reference to a key in a Secret. Exactly one Secret or ConfigMap has to be specified.
|
|
configMap:
|
|
type: object
|
|
properties:
|
|
defaultMode:
|
|
type: integer
|
|
items:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
type: integer
|
|
path:
|
|
type: string
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
description: Reference to a key in a ConfigMap. Exactly one Secret or ConfigMap has to be specified.
|
|
oneOf:
|
|
- properties:
|
|
secret: {}
|
|
required:
|
|
- secret
|
|
- properties:
|
|
configMap: {}
|
|
required:
|
|
- configMap
|
|
required:
|
|
- name
|
|
description: Makes data from a Secret or ConfigMap available in the Kafka Connect pods as volumes.
|
|
description: Pass data from Secrets or ConfigMaps to the Kafka Connect pods and use them to configure connectors.
|
|
build:
|
|
type: object
|
|
properties:
|
|
output:
|
|
type: object
|
|
properties:
|
|
additionalKanikoOptions:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: "Configures additional options which will be passed to the Kaniko executor when building the new Connect image. Allowed options are: --customPlatform, --custom-platform, --insecure, --insecure-pull, --insecure-registry, --log-format, --log-timestamp, --registry-mirror, --reproducible, --single-snapshot, --skip-tls-verify, --skip-tls-verify-pull, --skip-tls-verify-registry, --verbosity, --snapshotMode, --use-new-run, --registry-certificate, --registry-client-cert, --ignore-path. These options will be used only on Kubernetes where the Kaniko executor is used. They will be ignored on OpenShift. The options are described in the link:https://github.com/GoogleContainerTools/kaniko[Kaniko GitHub repository^]. Changing this field does not trigger new build of the Kafka Connect image."
|
|
image:
|
|
type: string
|
|
description: The name of the image which will be built. Required.
|
|
pushSecret:
|
|
type: string
|
|
description: Container Registry Secret with the credentials for pushing the newly built image.
|
|
type:
|
|
type: string
|
|
enum:
|
|
- docker
|
|
- imagestream
|
|
description: Output type. Must be either `docker` for pushing the newly build image to Docker compatible registry or `imagestream` for pushing the image to OpenShift ImageStream. Required.
|
|
required:
|
|
- image
|
|
- type
|
|
description: Configures where should the newly built image be stored. Required.
|
|
plugins:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
pattern: "^[a-z0-9][-_a-z0-9]*[a-z0-9]$"
|
|
description: "The unique name of the connector plugin. Will be used to generate the path where the connector artifacts will be stored. The name has to be unique within the KafkaConnect resource. The name has to follow the following pattern: `^[a-z][-_a-z0-9]*[a-z]$`. Required."
|
|
artifacts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
artifact:
|
|
type: string
|
|
description: Maven artifact id. Applicable to the `maven` artifact type only.
|
|
fileName:
|
|
type: string
|
|
description: Name under which the artifact will be stored.
|
|
group:
|
|
type: string
|
|
description: Maven group id. Applicable to the `maven` artifact type only.
|
|
insecure:
|
|
type: boolean
|
|
description: "By default, connections using TLS are verified to check they are secure. The server certificate used must be valid, trusted, and contain the server name. By setting this option to `true`, all TLS verification is disabled and the artifact will be downloaded, even when the server is considered insecure."
|
|
repository:
|
|
type: string
|
|
description: Maven repository to download the artifact from. Applicable to the `maven` artifact type only.
|
|
sha512sum:
|
|
type: string
|
|
description: "SHA512 checksum of the artifact. Optional. If specified, the checksum will be verified while building the new container. If not specified, the downloaded artifact will not be verified. Not applicable to the `maven` artifact type. "
|
|
type:
|
|
type: string
|
|
enum:
|
|
- jar
|
|
- tgz
|
|
- zip
|
|
- maven
|
|
- other
|
|
description: "Artifact type. Currently, the supported artifact types are `tgz`, `jar`, `zip`, `other` and `maven`."
|
|
url:
|
|
type: string
|
|
pattern: "^(https?|ftp)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$"
|
|
description: "URL of the artifact which will be downloaded. Strimzi does not do any security scanning of the downloaded artifacts. For security reasons, you should first verify the artifacts manually and configure the checksum verification to make sure the same artifact is used in the automated build. Required for `jar`, `zip`, `tgz` and `other` artifacts. Not applicable to the `maven` artifact type."
|
|
version:
|
|
type: string
|
|
description: Maven version number. Applicable to the `maven` artifact type only.
|
|
required:
|
|
- type
|
|
description: List of artifacts which belong to this connector plugin. Required.
|
|
required:
|
|
- name
|
|
- artifacts
|
|
description: List of connector plugins which should be added to the Kafka Connect. Required.
|
|
resources:
|
|
type: object
|
|
properties:
|
|
claims:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$"
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$"
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
description: CPU and memory resources to reserve for the build.
|
|
required:
|
|
- output
|
|
- plugins
|
|
description: Configures how the Connect container image should be built. Optional.
|
|
plugins:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
pattern: "^[a-z0-9][-_a-z0-9]*[a-z0-9]$"
|
|
description: "A unique name for the connector plugin. This name is used to generate the mount path for the connector artifacts. The name has to be unique within the KafkaConnect resource. The name must be unique within the `KafkaConnect` resource and match the pattern: `^[a-z][-_a-z0-9]*[a-z]$`. Required."
|
|
artifacts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
description: |-
|
|
Policy that determines when the container image (OCI artifact) is pulled.
|
|
|
|
Possible values are:
|
|
|
|
* `Always`: Always pull the image. If the pull fails, container creation fails.
|
|
* `Never`: Never pull the image. Use only a locally available image. Container creation fails if the image isn’t present.
|
|
* `IfNotPresent`: Pull the image only if it’s not already available locally. Container creation fails if the image isn’t present and the pull fails.
|
|
|
|
Defaults to `Always` if `:latest` tag is specified, or `IfNotPresent` otherwise.
|
|
reference:
|
|
type: string
|
|
description: Reference to the container image (OCI artifact) containing the Kafka Connect plugin. The image is mounted as a volume and provides the plugin binary. Required.
|
|
type:
|
|
type: string
|
|
enum:
|
|
- image
|
|
description: "Artifact type. Currently, the only supported artifact type is `image`."
|
|
required:
|
|
- reference
|
|
- type
|
|
description: List of artifacts associated with this connector plugin. Required.
|
|
required:
|
|
- name
|
|
- artifacts
|
|
description: List of connector plugins to mount into the `KafkaConnect` pod.
|
|
required:
|
|
- bootstrapServers
|
|
description: The specification of the Kafka Connect cluster.
|
|
status:
|
|
type: object
|
|
properties:
|
|
conditions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: "The unique identifier of a condition, used to distinguish between other conditions in the resource."
|
|
status:
|
|
type: string
|
|
description: "The status of the condition, either True, False or Unknown."
|
|
lastTransitionTime:
|
|
type: string
|
|
description: "Last time the condition of a type changed from one status to another. The required format is 'yyyy-MM-ddTHH:mm:ssZ', in the UTC time zone."
|
|
reason:
|
|
type: string
|
|
description: The reason for the condition's last transition (a single word in CamelCase).
|
|
message:
|
|
type: string
|
|
description: Human-readable message indicating details about the condition's last transition.
|
|
description: List of status conditions.
|
|
observedGeneration:
|
|
type: integer
|
|
description: The generation of the CRD that was last reconciled by the operator.
|
|
url:
|
|
type: string
|
|
description: The URL of the REST API endpoint for managing and monitoring Kafka Connect connectors.
|
|
connectorPlugins:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
class:
|
|
type: string
|
|
description: The class of the connector plugin.
|
|
type:
|
|
type: string
|
|
description: The type of the connector plugin. The available types are `sink` and `source`.
|
|
version:
|
|
type: string
|
|
description: The version of the connector plugin.
|
|
description: The list of connector plugins available in this Kafka Connect deployment.
|
|
replicas:
|
|
type: integer
|
|
description: The current number of pods being used to provide this resource.
|
|
labelSelector:
|
|
type: string
|
|
description: Label selector for pods providing this resource.
|
|
description: The status of the Kafka Connect cluster.
|
|
|