Add chart strimzi-kafka-operator 0.47.0

This commit is contained in:
wbsong111
2025-09-08 09:19:22 +09:00
parent dcaf0c3edd
commit f58c922eaa
48 changed files with 38747 additions and 0 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,128 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: strimzipodsets.core.strimzi.io
labels:
app: strimzi
strimzi.io/crd-install: "true"
component: stirmzipodsets.core.strimzi.io-crd
spec:
group: core.strimzi.io
names:
kind: StrimziPodSet
listKind: StrimziPodSetList
singular: strimzipodset
plural: strimzipodsets
shortNames:
- sps
categories:
- strimzi
scope: Namespaced
conversion:
strategy: None
versions:
- name: v1beta2
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: Pods
description: Number of pods managed by the StrimziPodSet
jsonPath: .status.pods
type: integer
- name: Ready Pods
description: Number of ready pods managed by the StrimziPodSet
jsonPath: .status.readyPods
type: integer
- name: Current Pods
description: Number of up-to-date pods managed by the StrimziPodSet
jsonPath: .status.currentPods
type: integer
- name: Age
description: Age of the StrimziPodSet
jsonPath: .metadata.creationTimestamp
type: date
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:
selector:
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
description: "Selector is a label query which matches all the pods managed by this `StrimziPodSet`. Only `matchLabels` is supported. If `matchExpressions` is set, it will be ignored."
pods:
type: array
items:
x-kubernetes-preserve-unknown-fields: true
type: object
description: The Pods managed by this StrimziPodSet.
required:
- selector
- pods
description: The specification of the StrimziPodSet.
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.
pods:
type: integer
description: Number of pods managed by this `StrimziPodSet` resource.
readyPods:
type: integer
description: Number of pods managed by this `StrimziPodSet` resource that are ready.
currentPods:
type: integer
description: Number of pods managed by this `StrimziPodSet` resource that have the current revision.
description: The status of the StrimziPodSet.
@@ -0,0 +1,344 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: kafkatopics.kafka.strimzi.io
labels:
app: strimzi
strimzi.io/crd-install: "true"
component: kafkatopics.kafka.strimzi.io-crd
spec:
group: kafka.strimzi.io
names:
kind: KafkaTopic
listKind: KafkaTopicList
singular: kafkatopic
plural: kafkatopics
shortNames:
- kt
categories:
- strimzi
scope: Namespaced
conversion:
strategy: None
versions:
- name: v1beta2
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: Cluster
description: The name of the Kafka cluster this topic belongs to
jsonPath: .metadata.labels.strimzi\.io/cluster
type: string
- name: Partitions
description: The desired number of partitions in the topic
jsonPath: .spec.partitions
type: integer
- name: Replication factor
description: The desired number of replicas of each partition
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:
topicName:
type: string
description: The name of the topic. When absent this will default to the metadata.name of the topic. It is recommended to not set this unless the topic name is not a valid Kubernetes resource name.
partitions:
type: integer
minimum: 1
description: "The number of partitions the topic should have. This cannot be decreased after topic creation. It can be increased after topic creation, but it is important to understand the consequences that has, especially for topics with semantic partitioning. When absent this will default to the broker configuration for `num.partitions`."
replicas:
type: integer
minimum: 1
maximum: 32767
description: The number of replicas the topic should have. When absent this will default to the broker configuration for `default.replication.factor`.
config:
x-kubernetes-preserve-unknown-fields: true
type: object
description: The topic configuration.
description: The specification of the topic.
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.
topicName:
type: string
description: Topic name.
topicId:
type: string
description: "The topic's id. For a KafkaTopic with the ready condition, this will change only if the topic gets deleted and recreated with the same name."
replicasChange:
type: object
properties:
targetReplicas:
type: integer
description: The target replicas value requested by the user. This may be different from .spec.replicas when a change is ongoing.
state:
type: string
enum:
- pending
- ongoing
description: "Current state of the replicas change operation. This can be `pending`, when the change has been requested, or `ongoing`, when the change has been successfully submitted to Cruise Control."
message:
type: string
description: Message for the user related to the replicas change request. This may contain transient error messages that would disappear on periodic reconciliations.
sessionId:
type: string
description: The session identifier for replicas change requests pertaining to this KafkaTopic resource. This is used by the Topic Operator to track the status of `ongoing` replicas change operations.
description: Replication factor change status.
description: The status of the topic.
- name: v1beta1
served: true
storage: false
subresources:
status: {}
additionalPrinterColumns:
- name: Cluster
description: The name of the Kafka cluster this topic belongs to
jsonPath: .metadata.labels.strimzi\.io/cluster
type: string
- name: Partitions
description: The desired number of partitions in the topic
jsonPath: .spec.partitions
type: integer
- name: Replication factor
description: The desired number of replicas of each partition
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:
topicName:
type: string
description: The name of the topic. When absent this will default to the metadata.name of the topic. It is recommended to not set this unless the topic name is not a valid Kubernetes resource name.
partitions:
type: integer
minimum: 1
description: "The number of partitions the topic should have. This cannot be decreased after topic creation. It can be increased after topic creation, but it is important to understand the consequences that has, especially for topics with semantic partitioning. When absent this will default to the broker configuration for `num.partitions`."
replicas:
type: integer
minimum: 1
maximum: 32767
description: The number of replicas the topic should have. When absent this will default to the broker configuration for `default.replication.factor`.
config:
x-kubernetes-preserve-unknown-fields: true
type: object
description: The topic configuration.
description: The specification of the topic.
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.
topicName:
type: string
description: Topic name.
topicId:
type: string
description: "The topic's id. For a KafkaTopic with the ready condition, this will change only if the topic gets deleted and recreated with the same name."
replicasChange:
type: object
properties:
targetReplicas:
type: integer
description: The target replicas value requested by the user. This may be different from .spec.replicas when a change is ongoing.
state:
type: string
enum:
- pending
- ongoing
description: "Current state of the replicas change operation. This can be `pending`, when the change has been requested, or `ongoing`, when the change has been successfully submitted to Cruise Control."
message:
type: string
description: Message for the user related to the replicas change request. This may contain transient error messages that would disappear on periodic reconciliations.
sessionId:
type: string
description: The session identifier for replicas change requests pertaining to this KafkaTopic resource. This is used by the Topic Operator to track the status of `ongoing` replicas change operations.
description: Replication factor change status.
description: The status of the topic.
- name: v1alpha1
served: true
storage: false
subresources:
status: {}
additionalPrinterColumns:
- name: Cluster
description: The name of the Kafka cluster this topic belongs to
jsonPath: .metadata.labels.strimzi\.io/cluster
type: string
- name: Partitions
description: The desired number of partitions in the topic
jsonPath: .spec.partitions
type: integer
- name: Replication factor
description: The desired number of replicas of each partition
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:
topicName:
type: string
description: The name of the topic. When absent this will default to the metadata.name of the topic. It is recommended to not set this unless the topic name is not a valid Kubernetes resource name.
partitions:
type: integer
minimum: 1
description: "The number of partitions the topic should have. This cannot be decreased after topic creation. It can be increased after topic creation, but it is important to understand the consequences that has, especially for topics with semantic partitioning. When absent this will default to the broker configuration for `num.partitions`."
replicas:
type: integer
minimum: 1
maximum: 32767
description: The number of replicas the topic should have. When absent this will default to the broker configuration for `default.replication.factor`.
config:
x-kubernetes-preserve-unknown-fields: true
type: object
description: The topic configuration.
description: The specification of the topic.
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.
topicName:
type: string
description: Topic name.
topicId:
type: string
description: "The topic's id. For a KafkaTopic with the ready condition, this will change only if the topic gets deleted and recreated with the same name."
replicasChange:
type: object
properties:
targetReplicas:
type: integer
description: The target replicas value requested by the user. This may be different from .spec.replicas when a change is ongoing.
state:
type: string
enum:
- pending
- ongoing
description: "Current state of the replicas change operation. This can be `pending`, when the change has been requested, or `ongoing`, when the change has been successfully submitted to Cruise Control."
message:
type: string
description: Message for the user related to the replicas change request. This may contain transient error messages that would disappear on periodic reconciliations.
sessionId:
type: string
description: The session identifier for replicas change requests pertaining to this KafkaTopic resource. This is used by the Topic Operator to track the status of `ongoing` replicas change operations.
description: Replication factor change status.
description: The status of the topic.
@@ -0,0 +1,716 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: kafkausers.kafka.strimzi.io
labels:
app: strimzi
strimzi.io/crd-install: "true"
component: kafkausers.kafka.strimzi.io-crd
spec:
group: kafka.strimzi.io
names:
kind: KafkaUser
listKind: KafkaUserList
singular: kafkauser
plural: kafkausers
shortNames:
- ku
categories:
- strimzi
scope: Namespaced
conversion:
strategy: None
versions:
- name: v1beta2
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: Cluster
description: The name of the Kafka cluster this user belongs to
jsonPath: .metadata.labels.strimzi\.io/cluster
type: string
- name: Authentication
description: How the user is authenticated
jsonPath: .spec.authentication.type
type: string
- name: Authorization
description: How the user is authorised
jsonPath: .spec.authorization.type
type: string
- 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:
authentication:
type: object
properties:
password:
type: object
properties:
valueFrom:
type: object
properties:
secretKeyRef:
type: object
properties:
key:
type: string
name:
type: string
optional:
type: boolean
description: Selects a key of a Secret in the resource's namespace.
description: Secret from which the password should be read.
required:
- valueFrom
description: "Specify the password for the user. If not set, a new password is generated by the User Operator."
type:
type: string
enum:
- tls
- tls-external
- scram-sha-512
description: Authentication type.
required:
- type
description: "Authentication mechanism enabled for this Kafka user. The supported authentication mechanisms are `scram-sha-512`, `tls`, and `tls-external`. \n\n* `scram-sha-512` generates a secret with SASL SCRAM-SHA-512 credentials.\n* `tls` generates a secret with user certificate for mutual TLS authentication.\n* `tls-external` does not generate a user certificate. But prepares the user for using mutual TLS authentication using a user certificate generated outside the User Operator.\n ACLs and quotas set for this user are configured in the `CN=<username>` format.\n\nAuthentication is optional. If authentication is not configured, no credentials are generated. ACLs and quotas set for the user are configured in the `<username>` format suitable for SASL authentication."
authorization:
type: object
properties:
acls:
type: array
items:
type: object
properties:
type:
type: string
enum:
- allow
- deny
description: The type of the rule. ACL rules with type `allow` are used to allow user to execute the specified operations. ACL rules with type `deny` are used to deny user to execute the specified operations. Default value is `allow`.
resource:
type: object
properties:
name:
type: string
description: Name of resource for which given ACL rule applies. Can be combined with `patternType` field to use prefix pattern.
patternType:
type: string
enum:
- literal
- prefix
description: "Describes the pattern used in the resource field. The supported types are `literal` and `prefix`. With `literal` pattern type, the resource field will be used as a definition of a full name. With `prefix` pattern type, the resource name will be used only as a prefix. Default value is `literal`."
type:
type: string
enum:
- topic
- group
- cluster
- transactionalId
description: "Resource type. The available resource types are `topic`, `group`, `cluster`, and `transactionalId`."
required:
- type
description: Indicates the resource for which given ACL rule applies.
host:
type: string
description: "The host from which the action described in the ACL rule is allowed or denied. If not set, it defaults to `*`, allowing or denying the action from any host."
operation:
type: string
enum:
- Read
- Write
- Create
- Delete
- Alter
- Describe
- ClusterAction
- AlterConfigs
- DescribeConfigs
- IdempotentWrite
- All
description: "Operation which will be allowed or denied. Supported operations are: Read, Write, Create, Delete, Alter, Describe, ClusterAction, AlterConfigs, DescribeConfigs, IdempotentWrite and All."
operations:
type: array
items:
type: string
enum:
- Read
- Write
- Create
- Delete
- Alter
- Describe
- ClusterAction
- AlterConfigs
- DescribeConfigs
- IdempotentWrite
- All
description: "List of operations to allow or deny. Supported operations are: Read, Write, Create, Delete, Alter, Describe, ClusterAction, AlterConfigs, DescribeConfigs, IdempotentWrite and All. Only certain operations work with the specified resource."
required:
- resource
description: List of ACL rules which should be applied to this user.
type:
type: string
enum:
- simple
description: Authorization type. Currently the only supported type is `simple`. `simple` authorization type uses the Kafka Admin API for managing the ACL rules.
required:
- acls
- type
description: Authorization rules for this Kafka user.
quotas:
type: object
properties:
producerByteRate:
type: integer
minimum: 0
description: A quota on the maximum bytes per-second that each client group can publish to a broker before the clients in the group are throttled. Defined on a per-broker basis.
consumerByteRate:
type: integer
minimum: 0
description: A quota on the maximum bytes per-second that each client group can fetch from a broker before the clients in the group are throttled. Defined on a per-broker basis.
requestPercentage:
type: integer
minimum: 0
description: A quota on the maximum CPU utilization of each client group as a percentage of network and I/O threads.
controllerMutationRate:
type: number
minimum: 0
description: "A quota on the rate at which mutations are accepted for the create topics request, the create partitions request and the delete topics request. The rate is accumulated by the number of partitions created or deleted."
description: Quotas on requests to control the broker resources used by clients. Network bandwidth and request rate quotas can be enforced.Kafka documentation for Kafka User quotas can be found at http://kafka.apache.org/documentation/#design_quotas.
template:
type: object
properties:
secret:
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 KafkaUser resources. The template allows users to specify how the `Secret` with password or TLS certificates is generated.
description: Template to specify how Kafka User `Secrets` are generated.
description: The specification of the user.
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.
username:
type: string
description: Username.
secret:
type: string
description: The name of `Secret` where the credentials are stored.
description: The status of the Kafka User.
- name: v1beta1
served: true
storage: false
subresources:
status: {}
additionalPrinterColumns:
- name: Cluster
description: The name of the Kafka cluster this user belongs to
jsonPath: .metadata.labels.strimzi\.io/cluster
type: string
- name: Authentication
description: How the user is authenticated
jsonPath: .spec.authentication.type
type: string
- name: Authorization
description: How the user is authorised
jsonPath: .spec.authorization.type
type: string
- 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:
authentication:
type: object
properties:
password:
type: object
properties:
valueFrom:
type: object
properties:
secretKeyRef:
type: object
properties:
key:
type: string
name:
type: string
optional:
type: boolean
description: Selects a key of a Secret in the resource's namespace.
description: Secret from which the password should be read.
required:
- valueFrom
description: "Specify the password for the user. If not set, a new password is generated by the User Operator."
type:
type: string
enum:
- tls
- tls-external
- scram-sha-512
description: Authentication type.
required:
- type
description: "Authentication mechanism enabled for this Kafka user. The supported authentication mechanisms are `scram-sha-512`, `tls`, and `tls-external`. \n\n* `scram-sha-512` generates a secret with SASL SCRAM-SHA-512 credentials.\n* `tls` generates a secret with user certificate for mutual TLS authentication.\n* `tls-external` does not generate a user certificate. But prepares the user for using mutual TLS authentication using a user certificate generated outside the User Operator.\n ACLs and quotas set for this user are configured in the `CN=<username>` format.\n\nAuthentication is optional. If authentication is not configured, no credentials are generated. ACLs and quotas set for the user are configured in the `<username>` format suitable for SASL authentication."
authorization:
type: object
properties:
acls:
type: array
items:
type: object
properties:
type:
type: string
enum:
- allow
- deny
description: The type of the rule. ACL rules with type `allow` are used to allow user to execute the specified operations. ACL rules with type `deny` are used to deny user to execute the specified operations. Default value is `allow`.
resource:
type: object
properties:
name:
type: string
description: Name of resource for which given ACL rule applies. Can be combined with `patternType` field to use prefix pattern.
patternType:
type: string
enum:
- literal
- prefix
description: "Describes the pattern used in the resource field. The supported types are `literal` and `prefix`. With `literal` pattern type, the resource field will be used as a definition of a full name. With `prefix` pattern type, the resource name will be used only as a prefix. Default value is `literal`."
type:
type: string
enum:
- topic
- group
- cluster
- transactionalId
description: "Resource type. The available resource types are `topic`, `group`, `cluster`, and `transactionalId`."
required:
- type
description: Indicates the resource for which given ACL rule applies.
host:
type: string
description: "The host from which the action described in the ACL rule is allowed or denied. If not set, it defaults to `*`, allowing or denying the action from any host."
operation:
type: string
enum:
- Read
- Write
- Create
- Delete
- Alter
- Describe
- ClusterAction
- AlterConfigs
- DescribeConfigs
- IdempotentWrite
- All
description: "Operation which will be allowed or denied. Supported operations are: Read, Write, Create, Delete, Alter, Describe, ClusterAction, AlterConfigs, DescribeConfigs, IdempotentWrite and All."
operations:
type: array
items:
type: string
enum:
- Read
- Write
- Create
- Delete
- Alter
- Describe
- ClusterAction
- AlterConfigs
- DescribeConfigs
- IdempotentWrite
- All
description: "List of operations to allow or deny. Supported operations are: Read, Write, Create, Delete, Alter, Describe, ClusterAction, AlterConfigs, DescribeConfigs, IdempotentWrite and All. Only certain operations work with the specified resource."
required:
- resource
description: List of ACL rules which should be applied to this user.
type:
type: string
enum:
- simple
description: Authorization type. Currently the only supported type is `simple`. `simple` authorization type uses the Kafka Admin API for managing the ACL rules.
required:
- acls
- type
description: Authorization rules for this Kafka user.
quotas:
type: object
properties:
producerByteRate:
type: integer
minimum: 0
description: A quota on the maximum bytes per-second that each client group can publish to a broker before the clients in the group are throttled. Defined on a per-broker basis.
consumerByteRate:
type: integer
minimum: 0
description: A quota on the maximum bytes per-second that each client group can fetch from a broker before the clients in the group are throttled. Defined on a per-broker basis.
requestPercentage:
type: integer
minimum: 0
description: A quota on the maximum CPU utilization of each client group as a percentage of network and I/O threads.
controllerMutationRate:
type: number
minimum: 0
description: "A quota on the rate at which mutations are accepted for the create topics request, the create partitions request and the delete topics request. The rate is accumulated by the number of partitions created or deleted."
description: Quotas on requests to control the broker resources used by clients. Network bandwidth and request rate quotas can be enforced.Kafka documentation for Kafka User quotas can be found at http://kafka.apache.org/documentation/#design_quotas.
template:
type: object
properties:
secret:
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 KafkaUser resources. The template allows users to specify how the `Secret` with password or TLS certificates is generated.
description: Template to specify how Kafka User `Secrets` are generated.
description: The specification of the user.
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.
username:
type: string
description: Username.
secret:
type: string
description: The name of `Secret` where the credentials are stored.
description: The status of the Kafka User.
- name: v1alpha1
served: true
storage: false
subresources:
status: {}
additionalPrinterColumns:
- name: Cluster
description: The name of the Kafka cluster this user belongs to
jsonPath: .metadata.labels.strimzi\.io/cluster
type: string
- name: Authentication
description: How the user is authenticated
jsonPath: .spec.authentication.type
type: string
- name: Authorization
description: How the user is authorised
jsonPath: .spec.authorization.type
type: string
- 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:
authentication:
type: object
properties:
password:
type: object
properties:
valueFrom:
type: object
properties:
secretKeyRef:
type: object
properties:
key:
type: string
name:
type: string
optional:
type: boolean
description: Selects a key of a Secret in the resource's namespace.
description: Secret from which the password should be read.
required:
- valueFrom
description: "Specify the password for the user. If not set, a new password is generated by the User Operator."
type:
type: string
enum:
- tls
- tls-external
- scram-sha-512
description: Authentication type.
required:
- type
description: "Authentication mechanism enabled for this Kafka user. The supported authentication mechanisms are `scram-sha-512`, `tls`, and `tls-external`. \n\n* `scram-sha-512` generates a secret with SASL SCRAM-SHA-512 credentials.\n* `tls` generates a secret with user certificate for mutual TLS authentication.\n* `tls-external` does not generate a user certificate. But prepares the user for using mutual TLS authentication using a user certificate generated outside the User Operator.\n ACLs and quotas set for this user are configured in the `CN=<username>` format.\n\nAuthentication is optional. If authentication is not configured, no credentials are generated. ACLs and quotas set for the user are configured in the `<username>` format suitable for SASL authentication."
authorization:
type: object
properties:
acls:
type: array
items:
type: object
properties:
type:
type: string
enum:
- allow
- deny
description: The type of the rule. ACL rules with type `allow` are used to allow user to execute the specified operations. ACL rules with type `deny` are used to deny user to execute the specified operations. Default value is `allow`.
resource:
type: object
properties:
name:
type: string
description: Name of resource for which given ACL rule applies. Can be combined with `patternType` field to use prefix pattern.
patternType:
type: string
enum:
- literal
- prefix
description: "Describes the pattern used in the resource field. The supported types are `literal` and `prefix`. With `literal` pattern type, the resource field will be used as a definition of a full name. With `prefix` pattern type, the resource name will be used only as a prefix. Default value is `literal`."
type:
type: string
enum:
- topic
- group
- cluster
- transactionalId
description: "Resource type. The available resource types are `topic`, `group`, `cluster`, and `transactionalId`."
required:
- type
description: Indicates the resource for which given ACL rule applies.
host:
type: string
description: "The host from which the action described in the ACL rule is allowed or denied. If not set, it defaults to `*`, allowing or denying the action from any host."
operation:
type: string
enum:
- Read
- Write
- Create
- Delete
- Alter
- Describe
- ClusterAction
- AlterConfigs
- DescribeConfigs
- IdempotentWrite
- All
description: "Operation which will be allowed or denied. Supported operations are: Read, Write, Create, Delete, Alter, Describe, ClusterAction, AlterConfigs, DescribeConfigs, IdempotentWrite and All."
operations:
type: array
items:
type: string
enum:
- Read
- Write
- Create
- Delete
- Alter
- Describe
- ClusterAction
- AlterConfigs
- DescribeConfigs
- IdempotentWrite
- All
description: "List of operations to allow or deny. Supported operations are: Read, Write, Create, Delete, Alter, Describe, ClusterAction, AlterConfigs, DescribeConfigs, IdempotentWrite and All. Only certain operations work with the specified resource."
required:
- resource
description: List of ACL rules which should be applied to this user.
type:
type: string
enum:
- simple
description: Authorization type. Currently the only supported type is `simple`. `simple` authorization type uses the Kafka Admin API for managing the ACL rules.
required:
- acls
- type
description: Authorization rules for this Kafka user.
quotas:
type: object
properties:
producerByteRate:
type: integer
minimum: 0
description: A quota on the maximum bytes per-second that each client group can publish to a broker before the clients in the group are throttled. Defined on a per-broker basis.
consumerByteRate:
type: integer
minimum: 0
description: A quota on the maximum bytes per-second that each client group can fetch from a broker before the clients in the group are throttled. Defined on a per-broker basis.
requestPercentage:
type: integer
minimum: 0
description: A quota on the maximum CPU utilization of each client group as a percentage of network and I/O threads.
controllerMutationRate:
type: number
minimum: 0
description: "A quota on the rate at which mutations are accepted for the create topics request, the create partitions request and the delete topics request. The rate is accumulated by the number of partitions created or deleted."
description: Quotas on requests to control the broker resources used by clients. Network bandwidth and request rate quotas can be enforced.Kafka documentation for Kafka User quotas can be found at http://kafka.apache.org/documentation/#design_quotas.
template:
type: object
properties:
secret:
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 KafkaUser resources. The template allows users to specify how the `Secret` with password or TLS certificates is generated.
description: Template to specify how Kafka User `Secrets` are generated.
description: The specification of the user.
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.
username:
type: string
description: Username.
secret:
type: string
description: The name of `Secret` where the credentials are stored.
description: The status of the Kafka User.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,172 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: kafkaconnectors.kafka.strimzi.io
labels:
app: strimzi
strimzi.io/crd-install: "true"
component: kafkaconnectors.kafka.strimzi.io-crd
spec:
group: kafka.strimzi.io
names:
kind: KafkaConnector
listKind: KafkaConnectorList
singular: kafkaconnector
plural: kafkaconnectors
shortNames:
- kctr
categories:
- strimzi
scope: Namespaced
conversion:
strategy: None
versions:
- name: v1beta2
served: true
storage: true
subresources:
status: {}
scale:
specReplicasPath: .spec.tasksMax
statusReplicasPath: .status.tasksMax
additionalPrinterColumns:
- name: Cluster
description: The name of the Kafka Connect cluster this connector belongs to
jsonPath: .metadata.labels.strimzi\.io/cluster
type: string
- name: Connector class
description: The class used by this connector
jsonPath: .spec.class
type: string
- name: Max Tasks
description: Maximum number of tasks
jsonPath: .spec.tasksMax
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:
class:
type: string
description: The Class for the Kafka Connector.
tasksMax:
type: integer
minimum: 1
description: The maximum number of tasks for the Kafka Connector.
autoRestart:
type: object
properties:
enabled:
type: boolean
description: Whether automatic restart for failed connectors and tasks should be enabled or disabled.
maxRestarts:
type: integer
description: "The maximum number of connector restarts that the operator will try. If the connector remains in a failed state after reaching this limit, it must be restarted manually by the user. Defaults to an unlimited number of restarts."
description: Automatic restart of connector and tasks configuration.
config:
x-kubernetes-preserve-unknown-fields: true
type: object
description: "The Kafka Connector configuration. The following properties cannot be set: name, connector.class, tasks.max."
pause:
type: boolean
description: Whether the connector should be paused. Defaults to false.
state:
type: string
enum:
- paused
- stopped
- running
description: The state the connector should be in. Defaults to running.
listOffsets:
type: object
properties:
toConfigMap:
type: object
properties:
name:
type: string
description: Reference to the ConfigMap where the list of offsets will be written to.
required:
- toConfigMap
description: Configuration for listing offsets.
alterOffsets:
type: object
properties:
fromConfigMap:
type: object
properties:
name:
type: string
description: Reference to the ConfigMap where the new offsets are stored.
required:
- fromConfigMap
description: Configuration for altering offsets.
description: The specification of the Kafka Connector.
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.
autoRestart:
type: object
properties:
count:
type: integer
description: The number of times the connector or task is restarted.
connectorName:
type: string
description: The name of the connector being restarted.
lastRestartTimestamp:
type: string
description: The last time the automatic restart was attempted. The required format is 'yyyy-MM-ddTHH:mm:ssZ' in the UTC time zone.
description: The auto restart status.
connectorStatus:
x-kubernetes-preserve-unknown-fields: true
type: object
description: "The connector status, as reported by the Kafka Connect REST API."
tasksMax:
type: integer
description: The maximum number of tasks for the Kafka Connector.
topics:
type: array
items:
type: string
description: The list of topics used by the Kafka Connector.
description: The status of the Kafka Connector.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,163 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: kafkarebalances.kafka.strimzi.io
labels:
app: strimzi
strimzi.io/crd-install: "true"
component: kafkarebalances.kafka.strimzi.io-crd
spec:
group: kafka.strimzi.io
names:
kind: KafkaRebalance
listKind: KafkaRebalanceList
singular: kafkarebalance
plural: kafkarebalances
shortNames:
- kr
categories:
- strimzi
scope: Namespaced
conversion:
strategy: None
versions:
- name: v1beta2
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: Cluster
description: The name of the Kafka cluster this resource rebalances
jsonPath: .metadata.labels.strimzi\.io/cluster
type: string
- name: Template
description: If this rebalance resource is a template
jsonPath: .metadata.annotations.strimzi\.io/rebalance-template
type: string
- name: Status
description: Status of the current rebalancing operation
jsonPath: ".status.conditions[*].type"
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:
mode:
type: string
enum:
- full
- add-brokers
- remove-brokers
- remove-disks
description: "Mode to run the rebalancing. The supported modes are `full`, `add-brokers`, `remove-brokers`.\nIf not specified, the `full` mode is used by default. \n\n* `full` mode runs the rebalancing across all the brokers in the cluster.\n* `add-brokers` mode can be used after scaling up the cluster to move some replicas to the newly added brokers.\n* `remove-brokers` mode can be used before scaling down the cluster to move replicas out of the brokers to be removed.\n* `remove-disks` mode can be used to move data across the volumes within the same broker\n."
brokers:
type: array
items:
type: integer
description: The list of newly added brokers in case of scaling up or the ones to be removed in case of scaling down to use for rebalancing. This list can be used only with rebalancing mode `add-brokers` and `removed-brokers`. It is ignored with `full` mode.
goals:
type: array
items:
type: string
description: "A list of goals, ordered by decreasing priority, to use for generating and executing the rebalance proposal. The supported goals are available at https://github.com/linkedin/cruise-control#goals. If an empty goals list is provided, the goals declared in the default.goals Cruise Control configuration parameter are used."
skipHardGoalCheck:
type: boolean
description: Whether to allow the hard goals specified in the Kafka CR to be skipped in optimization proposal generation. This can be useful when some of those hard goals are preventing a balance solution being found. Default is false.
rebalanceDisk:
type: boolean
description: "Enables intra-broker disk balancing, which balances disk space utilization between disks on the same broker. Only applies to Kafka deployments that use JBOD storage with multiple disks. When enabled, inter-broker balancing is disabled. Default is false."
excludedTopics:
type: string
description: A regular expression where any matching topics will be excluded from the calculation of optimization proposals. This expression will be parsed by the java.util.regex.Pattern class; for more information on the supported format consult the documentation for that class.
concurrentPartitionMovementsPerBroker:
type: integer
minimum: 0
description: The upper bound of ongoing partition replica movements going into/out of each broker. Default is 5.
concurrentIntraBrokerPartitionMovements:
type: integer
minimum: 0
description: The upper bound of ongoing partition replica movements between disks within each broker. Default is 2.
concurrentLeaderMovements:
type: integer
minimum: 0
description: The upper bound of ongoing partition leadership movements. Default is 1000.
replicationThrottle:
type: integer
minimum: 0
description: "The upper bound, in bytes per second, on the bandwidth used to move replicas. There is no limit by default."
replicaMovementStrategies:
type: array
items:
type: string
description: "A list of strategy class names used to determine the execution order for the replica movements in the generated optimization proposal. By default BaseReplicaMovementStrategy is used, which will execute the replica movements in the order that they were generated."
moveReplicasOffVolumes:
type: array
minItems: 1
items:
type: object
properties:
brokerId:
type: integer
description: ID of the broker that contains the disk from which you want to move the partition replicas.
volumeIds:
type: array
minItems: 1
items:
type: integer
description: IDs of the disks from which the partition replicas need to be moved.
description: List of brokers and their corresponding volumes from which replicas need to be moved.
description: The specification of the Kafka rebalance.
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.
sessionId:
type: string
description: The session identifier for requests to Cruise Control pertaining to this KafkaRebalance resource. This is used by the Kafka Rebalance operator to track the status of ongoing rebalancing operations.
progress:
type: object
properties:
rebalanceProgressConfigMap:
type: string
description: The name of the `ConfigMap` containing information related to the progress of a partition rebalance.
description: A reference to Config Map with the progress information.
optimizationResult:
x-kubernetes-preserve-unknown-fields: true
type: object
description: A JSON object describing the optimization result.
description: The status of the Kafka rebalance.