Skip to content

Commit

Permalink
add banzaicloud/koperator
Browse files Browse the repository at this point in the history
Signed-off-by: Sebastian Hoß <[email protected]>
  • Loading branch information
sebhoss committed Apr 5, 2024
1 parent 77df02a commit c12fd65
Show file tree
Hide file tree
Showing 17 changed files with 24,832 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,10 @@ Files: crd-catalog/banzaicloud/istio-operator/*
Copyright: The banzaicloud/istio-operator Authors
License: Apache-2.0

Files: crd-catalog/banzaicloud/koperator/*
Copyright: The banzaicloud/koperator Authors
License: Apache-2.0

Files: crd-catalog/berops/claudie/*
Copyright: The berops/claudie Authors
License: Apache-2.0
Expand Down
10 changes: 10 additions & 0 deletions code-generator/src/catalog.rs
Original file line number Diff line number Diff line change
Expand Up @@ -784,6 +784,16 @@ pub const CRD_V1_SOURCES: &'static [UpstreamSource] = &[
"https://github.com/banzaicloud/istio-operator/blob/release-1.17/config/crd/bases/istio-operator-crds.gen.yaml",
],
},
UpstreamSource {
project_name: "banzaicloud/koperator",
license: APACHE_V2,
urls: &[
"https://github.com/banzaicloud/koperator/blob/master/config/base/crds/kafka.banzaicloud.io_cruisecontroloperations.yaml",
"https://github.com/banzaicloud/koperator/blob/master/config/base/crds/kafka.banzaicloud.io_kafkaclusters.yaml",
"https://github.com/banzaicloud/koperator/blob/master/config/base/crds/kafka.banzaicloud.io_kafkatopics.yaml",
"https://github.com/banzaicloud/koperator/blob/master/config/base/crds/kafka.banzaicloud.io_kafkausers.yaml",
],
},
UpstreamSource {
project_name: "berops/claudie",
license: APACHE_V2,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
apiVersion: "apiextensions.k8s.io/v1"
kind: "CustomResourceDefinition"
metadata:
annotations:
controller-gen.kubebuilder.io/version: "v0.9.2"
name: "cruisecontroloperations.kafka.banzaicloud.io"
spec:
group: "kafka.banzaicloud.io"
names:
kind: "CruiseControlOperation"
listKind: "CruiseControlOperationList"
plural: "cruisecontroloperations"
singular: "cruisecontroloperation"
scope: "Namespaced"
versions:
- name: "v1alpha1"
schema:
openAPIV3Schema:
description: "CruiseControlOperation is the Schema for the cruiseControlOperation API."
properties:
apiVersion:
description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: "string"
kind:
description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: "string"
metadata:
type: "object"
spec:
description: "CruiseControlOperationSpec defines the desired state of CruiseControlOperation."
properties:
errorPolicy:
default: "retry"
description: "ErrorPolicy defines how failed Cruise Control operation should be handled. When it is \"retry\", the Koperator re-executes the failed task in every 30 sec (by default). When it is \"ignore\", the Koperator handles the failed task as completed."
enum:
- "ignore"
- "retry"
type: "string"
ttlSecondsAfterFinished:
description: "When TTLSecondsAfterFinished is specified, the created and finished (completed successfully or completedWithError and errorPolicy: ignore) cruiseControlOperation custom resource will be deleted after the given time elapsed. When it is 0 then the resource is going to be deleted instantly after the operation is finished. When it is not specified the resource is not going to be removed. Value can be only zero and positive integers"
minimum: 0.0
type: "integer"
type: "object"
status:
description: "CruiseControlOperationStatus defines the observed state of CruiseControlOperation."
properties:
currentTask:
description: "CruiseControlTask defines the observed state of the Cruise Control user task."
properties:
errorMessage:
type: "string"
finished:
format: "date-time"
type: "string"
httpRequest:
description: "HTTPRequest is a Cruise Control user task HTTP request."
type: "string"
httpResponseCode:
type: "integer"
id:
type: "string"
operation:
description: "Operation defines the Cruise Control operation kind."
type: "string"
parameters:
additionalProperties:
type: "string"
description: "Parameters defines the configuration of the operation."
type: "object"
started:
format: "date-time"
type: "string"
state:
description: "State is the current state of the Cruise Control user task."
type: "string"
summary:
additionalProperties:
type: "string"
description: "Summary of the Cruise Control user task execution proposal."
type: "object"
required:
- "operation"
type: "object"
errorPolicy:
description: "ErrorPolicyType defines methods of handling Cruise Control user task errors."
type: "string"
failedTasks:
items:
description: "CruiseControlTask defines the observed state of the Cruise Control user task."
properties:
errorMessage:
type: "string"
finished:
format: "date-time"
type: "string"
httpRequest:
description: "HTTPRequest is a Cruise Control user task HTTP request."
type: "string"
httpResponseCode:
type: "integer"
id:
type: "string"
operation:
description: "Operation defines the Cruise Control operation kind."
type: "string"
parameters:
additionalProperties:
type: "string"
description: "Parameters defines the configuration of the operation."
type: "object"
started:
format: "date-time"
type: "string"
state:
description: "State is the current state of the Cruise Control user task."
type: "string"
summary:
additionalProperties:
type: "string"
description: "Summary of the Cruise Control user task execution proposal."
type: "object"
required:
- "operation"
type: "object"
type: "array"
retryCount:
type: "integer"
required:
- "errorPolicy"
- "retryCount"
type: "object"
type: "object"
served: true
storage: true
subresources:
status: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
apiVersion: "apiextensions.k8s.io/v1"
kind: "CustomResourceDefinition"
metadata:
annotations:
controller-gen.kubebuilder.io/version: "v0.9.2"
name: "kafkatopics.kafka.banzaicloud.io"
spec:
group: "kafka.banzaicloud.io"
names:
kind: "KafkaTopic"
listKind: "KafkaTopicList"
plural: "kafkatopics"
singular: "kafkatopic"
scope: "Namespaced"
versions:
- name: "v1alpha1"
schema:
openAPIV3Schema:
description: "KafkaTopic is the Schema for the kafkatopics API"
properties:
apiVersion:
description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: "string"
kind:
description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: "string"
metadata:
type: "object"
spec:
description: "KafkaTopicSpec defines the desired state of KafkaTopic"
properties:
clusterRef:
description: "ClusterReference states a reference to a cluster for topic/user provisioning"
properties:
name:
type: "string"
namespace:
type: "string"
required:
- "name"
type: "object"
config:
additionalProperties:
type: "string"
type: "object"
name:
type: "string"
partitions:
description: "Partitions defines the desired number of partitions; must be positive, or -1 to signify using the broker's default"
format: "int32"
minimum: -1.0
type: "integer"
replicationFactor:
description: "ReplicationFactor defines the desired replication factor; must be positive, or -1 to signify using the broker's default"
format: "int32"
minimum: -1.0
type: "integer"
required:
- "clusterRef"
- "name"
- "partitions"
- "replicationFactor"
type: "object"
status:
description: "KafkaTopicStatus defines the observed state of KafkaTopic"
properties:
managedBy:
description: "ManagedBy describes who is the manager of the Kafka topic. When its value is not \"koperator\" then modifications to the topic configurations of the KafkaTopic CR will not be propagated to the Kafka topic. Manager of the Kafka topic can be changed by adding the \"managedBy: <manager>\" annotation to the KafkaTopic CR."
type: "string"
state:
description: "TopicState defines the state of a KafkaTopic"
type: "string"
required:
- "managedBy"
- "state"
type: "object"
type: "object"
served: true
storage: true
subresources:
status: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--derive=PartialEq
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
apiVersion: "apiextensions.k8s.io/v1"
kind: "CustomResourceDefinition"
metadata:
annotations:
controller-gen.kubebuilder.io/version: "v0.9.2"
name: "kafkausers.kafka.banzaicloud.io"
spec:
group: "kafka.banzaicloud.io"
names:
kind: "KafkaUser"
listKind: "KafkaUserList"
plural: "kafkausers"
singular: "kafkauser"
scope: "Namespaced"
versions:
- name: "v1alpha1"
schema:
openAPIV3Schema:
description: "KafkaUser is the Schema for the kafka users API"
properties:
apiVersion:
description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: "string"
kind:
description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: "string"
metadata:
type: "object"
spec:
description: "KafkaUserSpec defines the desired state of KafkaUser"
properties:
annotations:
additionalProperties:
type: "string"
description: "Annotations defines the annotations placed on the certificate or certificate signing request object"
type: "object"
clusterRef:
description: "ClusterReference states a reference to a cluster for topic/user provisioning"
properties:
name:
type: "string"
namespace:
type: "string"
required:
- "name"
type: "object"
createCert:
type: "boolean"
dnsNames:
items:
type: "string"
type: "array"
expirationSeconds:
description: "expirationSeconds is the requested duration of validity of the issued certificate. The minimum valid value for expirationSeconds is 3600 i.e. 1h. When it is not specified the default validation duration is 90 days"
format: "int32"
minimum: 3600.0
type: "integer"
includeJKS:
type: "boolean"
pkiBackendSpec:
properties:
issuerRef:
description: "ObjectReference is a reference to an object with a given name, kind and group."
properties:
group:
description: "Group of the resource being referred to."
type: "string"
kind:
description: "Kind of the resource being referred to."
type: "string"
name:
description: "Name of the resource being referred to."
type: "string"
required:
- "name"
type: "object"
pkiBackend:
enum:
- "cert-manager"
- "k8s-csr"
type: "string"
signerName:
description: "SignerName indicates requested signer, and is a qualified name."
type: "string"
required:
- "pkiBackend"
type: "object"
secretName:
description: "secretName is used as the name of the K8S secret that contains the certificate of the KafkaUser. SecretName should be unique inside the namespace where KafkaUser is located."
type: "string"
topicGrants:
items:
description: "UserTopicGrant is the desired permissions for the KafkaUser"
properties:
accessType:
description: "KafkaAccessType hold info about Kafka ACL"
enum:
- "read"
- "write"
type: "string"
patternType:
description: "KafkaPatternType hold the Resource Pattern Type of kafka ACL"
enum:
- "literal"
- "match"
- "prefixed"
- "any"
type: "string"
topicName:
type: "string"
required:
- "accessType"
- "topicName"
type: "object"
type: "array"
required:
- "clusterRef"
- "secretName"
type: "object"
status:
description: "KafkaUserStatus defines the observed state of KafkaUser"
properties:
acls:
items:
type: "string"
type: "array"
state:
description: "UserState defines the state of a KafkaUser"
type: "string"
required:
- "state"
type: "object"
type: "object"
served: true
storage: true
subresources:
status: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--derive=PartialEq
Loading

0 comments on commit c12fd65

Please sign in to comment.