commit
29599533e2
Binary file not shown.
|
@ -0,0 +1,22 @@
|
|||
annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/display-name: Confluent For Kubernetes
|
||||
catalog.cattle.io/release-name: confluent-for-kubernetes
|
||||
apiVersion: v1
|
||||
appVersion: 2.0.2
|
||||
description: A Helm chart to deploy Confluent for Kubernetes
|
||||
home: https://www.confluent.io/
|
||||
icon: https://cdn.confluent.io/wp-content/uploads/seo-logo-meadow.png
|
||||
keywords:
|
||||
- Confluent
|
||||
- Confluent Operator
|
||||
- Confluent Platform
|
||||
- CFK
|
||||
kubeVersion: 1.15 - 1.20
|
||||
maintainers:
|
||||
- email: operator@confluent.io
|
||||
name: Confluent Operator
|
||||
name: confluent-for-kubernetes
|
||||
sources:
|
||||
- https://docs.confluent.io/current/index.html
|
||||
version: 0.174.2101
|
|
@ -0,0 +1,72 @@
|
|||
Confluent for Kubernetes
|
||||
==================================================================
|
||||
|
||||
Confluent for Kubernetes (CFK) is a cloud-native control plane for deploying and managing Confluent in your private cloud environment. It provides standard and simple interface to customize, deploy, and manage Confluent Platform through declarative API.
|
||||
|
||||
Confluent for Kubernetes runs on Kubernetes, the runtime for private cloud architectures.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
NOTE: Confluent for Kubernetes is the next generation of Confluent Operator. For Confluent Operator 1.x documentation, see [Confluent Operator 1](https://docs.confluent.io/operator/1.7.0/overview.html), or use the version picker to browse to a specific version of the documentation.
|
||||
|
||||
See [Introducing Confluent for Kubernetes](https://www.confluent.io/blog/confluent-for-kubernetes-offers-cloud-native-kafka-automation/) for an overview.
|
||||
|
||||
The following shows the high-level architecture of Confluent for Kubernetes and Confluent Platform in Kubernetes.
|
||||
|
||||
[![_images/co-architecture.png](https://docs.confluent.io/operator/current/_images/co-architecture.png)](_images/co-architecture.png)
|
||||
|
||||
Features
|
||||
---------------------------------------------------
|
||||
|
||||
The following are summaries of the main, notable features of Confluent for Kubernetes.
|
||||
|
||||
#### Cloud Native Declarative API
|
||||
|
||||
* Declarative Kubernetes-native API approach to configure, deploy, and manage Confluent Platform components (Apache KafkaB., Connect workers, ksqlDB, Schema Registry, Confluent Control Center) and resources (topics, rolebindings) through Infrastructure as Code (IaC).
|
||||
* Provides built-in automation for cloud-native security best practices:
|
||||
* Complete granular RBAC, authentication and TLS network encryption
|
||||
* Auto-generated certificates
|
||||
* Support for credential management systems, such as Hashicorp Vault, to inject sensitive configurations in memory to Confluent deployments
|
||||
* Provides server properties, JVM, and Log4j configuration overrides for customization of all Confluent Platform components.
|
||||
|
||||
#### Upgrades
|
||||
|
||||
* Provides automated rolling updates for configuration changes.
|
||||
* Provides automated rolling upgrades with no impact to Kafka availability.
|
||||
|
||||
#### Scaling
|
||||
|
||||
* Provides single command, automated scaling and reliability checks of Confluent Platform.
|
||||
|
||||
#### Resiliency
|
||||
|
||||
* Restores a Kafka pod with the same Kafka broker ID, configuration, and persistent storage volumes if a failure occurs.
|
||||
* Provides automated rack awareness to spread replicas of a partition across different racks (or zones), improving availability of Kafka brokers and limiting the risk of data loss.
|
||||
|
||||
#### Scheduling
|
||||
|
||||
* Supports Kubernetes labels and annotations to provide useful context to DevOps teams and ecosystem tooling.
|
||||
* Supports Kubernetes tolerations and pod/node affinity for efficient resource utilization and pod placement.
|
||||
|
||||
#### Monitoring
|
||||
|
||||
* Supports metrics aggregation using JMX/Jolokia.
|
||||
* Supports aggregated metrics export to Prometheus.
|
||||
|
||||
Licensing
|
||||
-----------------------------------------------------
|
||||
|
||||
You can use Confluent for Kubernetes and Confluent Control Center for a 30-day trial period without a license key.
|
||||
|
||||
After 30 days, Confluent for Kubernetes and Control Center require a license key. Confluent issues keys to subscribers, along with providing [enterprise-level support](https://www.confluent.io/subscription/) for Confluent components and Confluent for Kubernetes.
|
||||
|
||||
If you are a subscriber, contact Confluent Support at [support@confluent.io](mailto:support@confluent.io) for more information.
|
||||
|
||||
See [Update Confluent Platform License](co-license.html#co-license-key) if you have received a key for Confluent for Kubernetes.
|
||||
|
||||
© Copyright 2021 , Confluent, Inc. [Privacy Policy](https://www.confluent.io/confluent-privacy-statement/) | [Terms & Conditions](https://www.confluent.io/terms-of-use/). Apache, Apache Kafka, Kafka and the Kafka logo are trademarks of the [Apache Software Foundation](http://www.apache.org/). All other trademarks, servicemarks, and copyrights are the property of their respective owners.
|
||||
|
||||
[Please report any inaccuracies on this page or suggest an edit.](mailto:docs@confluent.io)
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
##Confluent For Kubernetes
|
||||
|
||||
With Confluent for Kubernetes, Confluent brings a cloud-native experience for data in motion workloads in on-premises environments. Based on our expertise and learnings from operating over 5,000 clusters in Confluent Cloud, Confluent for Kubernetes offers an opinionated deployment of Confluent Platform that enhances the platformb's elasticity, ease of operations, and resiliency.
|
|
@ -0,0 +1,249 @@
|
|||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.4.1
|
||||
creationTimestamp: null
|
||||
name: confluentrolebindings.platform.confluent.io
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
- JSONPath: .status.state
|
||||
name: Status
|
||||
type: string
|
||||
- JSONPath: .status.kafkaClusterId
|
||||
name: KafkaClusterId
|
||||
type: string
|
||||
- JSONPath: .status.principal
|
||||
name: Principal
|
||||
type: string
|
||||
- JSONPath: .status.role
|
||||
name: Role
|
||||
type: string
|
||||
- JSONPath: .status.kafkaRestClass
|
||||
name: KafkaRestClass
|
||||
type: string
|
||||
- JSONPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
- JSONPath: .status.clusterRegistryName
|
||||
name: ClusterRegistryName
|
||||
priority: 1
|
||||
type: string
|
||||
group: platform.confluent.io
|
||||
names:
|
||||
categories:
|
||||
- all
|
||||
- confluent-platform
|
||||
- confluent
|
||||
kind: ConfluentRolebinding
|
||||
listKind: ConfluentRolebindingList
|
||||
plural: confluentrolebindings
|
||||
shortNames:
|
||||
- cfrb
|
||||
- confluentrolebinding
|
||||
singular: confluentrolebinding
|
||||
preserveUnknownFields: false
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: ConfluentRolebinding is the Schema for the confluentrolebinding
|
||||
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: ConfluentRolebindingSpec defines the desired state of rolebinding
|
||||
for cp component when rbac is enabled
|
||||
properties:
|
||||
clustersScopeByIds:
|
||||
description: ClusterScope defines the scope of clustersId
|
||||
properties:
|
||||
connectClusterId:
|
||||
minLength: 1
|
||||
type: string
|
||||
kafkaClusterId:
|
||||
minLength: 1
|
||||
type: string
|
||||
ksqlClusterId:
|
||||
minLength: 1
|
||||
type: string
|
||||
schemaRegistryClusterId:
|
||||
minLength: 1
|
||||
type: string
|
||||
type: object
|
||||
clustersScopeByRegistryName:
|
||||
description: ClusterRegistryName defines the unique cluster name customer
|
||||
registered in cluster registry
|
||||
minLength: 1
|
||||
type: string
|
||||
kafkaRestClassRef:
|
||||
description: KafkaRestClassRef defines the reference for KafkaRestClass
|
||||
which defines Kafka Rest API
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of KafkaRestClass
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the KafkaRestClass
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
principal:
|
||||
description: Principal defines the confluent rolebinding principal name
|
||||
and the binding details.
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of the principal(user/group)
|
||||
minLength: 1
|
||||
type: string
|
||||
type:
|
||||
enum:
|
||||
- user
|
||||
- group
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- type
|
||||
type: object
|
||||
resourcePatterns:
|
||||
description: ResourcePatterns define the qualified resources associated
|
||||
with this rolebinding
|
||||
items:
|
||||
description: ResourcePattern define the qualified resource info associated
|
||||
with this rolebinding
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of resource associated with
|
||||
this rolebinding
|
||||
minLength: 1
|
||||
type: string
|
||||
patternType:
|
||||
description: PatternType defines whether the pattern of resource
|
||||
is PREFIXED or LITERAL, default is LITERAL if not set
|
||||
enum:
|
||||
- PREFIXED
|
||||
- LITERAL
|
||||
type: string
|
||||
resourceType:
|
||||
description: ResourceType defines the type of resource
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- resourceType
|
||||
type: object
|
||||
type: array
|
||||
role:
|
||||
description: Role defines the name of the Role
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- principal
|
||||
- role
|
||||
type: object
|
||||
status:
|
||||
description: ConfluentRolebindingStatus defines the observed state of ConfluentRolebinding
|
||||
properties:
|
||||
clusterRegistryName:
|
||||
type: string
|
||||
conditions:
|
||||
items:
|
||||
description: Conditions represents the latest available observations
|
||||
of a statefulset's current state.
|
||||
properties:
|
||||
lastProbeTime:
|
||||
description: LastProbeTime defines a last time the condition is
|
||||
evaluated.
|
||||
format: date-time
|
||||
type: string
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime defines a last time the condition
|
||||
transitioned from one status to another.
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: ' Message defines a human readable message indicating
|
||||
details about the transition.'
|
||||
type: string
|
||||
reason:
|
||||
description: ' Reason defines reason for the condition''s last
|
||||
transition.'
|
||||
type: string
|
||||
status:
|
||||
description: Status defines a status of the condition, one of
|
||||
True, False, Unknown
|
||||
type: string
|
||||
type:
|
||||
description: Type defines type of condition
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
kafkaClusterId:
|
||||
type: string
|
||||
kafkaRestClass:
|
||||
type: string
|
||||
mdsEndpoint:
|
||||
type: string
|
||||
principal:
|
||||
type: string
|
||||
resourcePatterns:
|
||||
items:
|
||||
description: ResourcePattern define the qualified resource info associated
|
||||
with this rolebinding
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of resource associated with
|
||||
this rolebinding
|
||||
minLength: 1
|
||||
type: string
|
||||
patternType:
|
||||
description: PatternType defines whether the pattern of resource
|
||||
is PREFIXED or LITERAL, default is LITERAL if not set
|
||||
enum:
|
||||
- PREFIXED
|
||||
- LITERAL
|
||||
type: string
|
||||
resourceType:
|
||||
description: ResourceType defines the type of resource
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- resourceType
|
||||
type: object
|
||||
type: array
|
||||
role:
|
||||
type: string
|
||||
state:
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
version: v1beta1
|
||||
versions:
|
||||
- name: v1beta1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,323 @@
|
|||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.4.1
|
||||
creationTimestamp: null
|
||||
name: kafkarestclasses.platform.confluent.io
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
- JSONPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
group: platform.confluent.io
|
||||
names:
|
||||
categories:
|
||||
- all
|
||||
- confluent-platform
|
||||
- confluent
|
||||
kind: KafkaRestClass
|
||||
listKind: KafkaRestClassList
|
||||
plural: kafkarestclasses
|
||||
shortNames:
|
||||
- krc
|
||||
- kafkarestclass
|
||||
singular: kafkarestclass
|
||||
preserveUnknownFields: false
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: KafkaRestClass is the Schema for the kafkarestclasses 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: KafkaRestClassSpec defines the desired state of KafkaRestClass
|
||||
properties:
|
||||
kafkaClusterRef:
|
||||
description: KafkaClusterRef defines the name of the kafka cluster
|
||||
properties:
|
||||
name:
|
||||
description: Name defines name of the Kafka cluster
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines namespace where kafka cluster is
|
||||
running
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
kafkaRest:
|
||||
description: KafkaRestApiInfo defines Kafka Rest API configuration
|
||||
properties:
|
||||
authentication:
|
||||
description: Authentication defines authentication of Kafka Rest
|
||||
API
|
||||
properties:
|
||||
basic:
|
||||
description: KafkaRestBasicAuthentication defines basic authentication
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
bearer:
|
||||
description: KafkaRestBearerAuthentication defines bearer authentication,
|
||||
used by MDS clients when RBAC enabled
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
type:
|
||||
enum:
|
||||
- basic
|
||||
- bearer
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
endpoint:
|
||||
description: Endpoint defines where confluent Kafka Rest API is
|
||||
running
|
||||
minLength: 1
|
||||
pattern: ^https?://.*
|
||||
type: string
|
||||
tls:
|
||||
description: TLSDependencyConfig defines the client side tls configuration
|
||||
to connect to Kafka Rest API
|
||||
properties:
|
||||
directoryPathInContainer:
|
||||
description: DirectoryPathInContainer contains the directory
|
||||
path in container where keystore/truststore.jks/jksPassword.txt
|
||||
keys are mounted. CP will not configure truststore.jks can
|
||||
be ignored with IgnoreTrustStoreConfig field
|
||||
minLength: 1
|
||||
type: string
|
||||
enabled:
|
||||
description: Enabled enables the TLS configuration for CP component
|
||||
type: boolean
|
||||
ignoreTrustStoreConfig:
|
||||
description: IgnoreTrustStoreConfig when configure ignores the
|
||||
truststore configuration for CP component
|
||||
type: boolean
|
||||
jksPassword:
|
||||
description: JksPassword defines the secret name referenced
|
||||
for jks password
|
||||
properties:
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced
|
||||
for jks password More information about jks password key/value
|
||||
format can be found in Confluent Operator document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced for
|
||||
certificates More information about certificates key/value
|
||||
format can be found in Confluent Operator document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
type: object
|
||||
secondaryKafkaClusterRef:
|
||||
description: SecondaryKafkaClusterRef defines the name of the secondary
|
||||
kafka cluster when using centralized RBAC
|
||||
properties:
|
||||
name:
|
||||
description: Name defines name of the Kafka cluster
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines namespace where kafka cluster is
|
||||
running
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
secondaryKafkaRest:
|
||||
description: SeconaryKafkaRestApiInfo defines secondary Kafka Rest API
|
||||
configuration when using centralized RBAC
|
||||
properties:
|
||||
authentication:
|
||||
description: Authentication defines authentication of Kafka Rest
|
||||
API
|
||||
properties:
|
||||
basic:
|
||||
description: KafkaRestBasicAuthentication defines basic authentication
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
bearer:
|
||||
description: KafkaRestBearerAuthentication defines bearer authentication,
|
||||
used by MDS clients when RBAC enabled
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
type:
|
||||
enum:
|
||||
- basic
|
||||
- bearer
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
endpoint:
|
||||
description: Endpoint defines where confluent Kafka Rest API is
|
||||
running
|
||||
minLength: 1
|
||||
pattern: ^https?://.*
|
||||
type: string
|
||||
tls:
|
||||
description: TLSDependencyConfig defines the client side tls configuration
|
||||
to connect to Kafka Rest API
|
||||
properties:
|
||||
directoryPathInContainer:
|
||||
description: DirectoryPathInContainer contains the directory
|
||||
path in container where keystore/truststore.jks/jksPassword.txt
|
||||
keys are mounted. CP will not configure truststore.jks can
|
||||
be ignored with IgnoreTrustStoreConfig field
|
||||
minLength: 1
|
||||
type: string
|
||||
enabled:
|
||||
description: Enabled enables the TLS configuration for CP component
|
||||
type: boolean
|
||||
ignoreTrustStoreConfig:
|
||||
description: IgnoreTrustStoreConfig when configure ignores the
|
||||
truststore configuration for CP component
|
||||
type: boolean
|
||||
jksPassword:
|
||||
description: JksPassword defines the secret name referenced
|
||||
for jks password
|
||||
properties:
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced
|
||||
for jks password More information about jks password key/value
|
||||
format can be found in Confluent Operator document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced for
|
||||
certificates More information about certificates key/value
|
||||
format can be found in Confluent Operator document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
type: object
|
||||
type: object
|
||||
status:
|
||||
description: KafkaRestClassStatus defines the observed state of KafkaRestClass
|
||||
properties:
|
||||
conditions:
|
||||
items:
|
||||
description: Conditions represents the latest available observations
|
||||
of a statefulset's current state.
|
||||
properties:
|
||||
lastProbeTime:
|
||||
description: LastProbeTime defines a last time the condition is
|
||||
evaluated.
|
||||
format: date-time
|
||||
type: string
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime defines a last time the condition
|
||||
transitioned from one status to another.
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: ' Message defines a human readable message indicating
|
||||
details about the transition.'
|
||||
type: string
|
||||
reason:
|
||||
description: ' Reason defines reason for the condition''s last
|
||||
transition.'
|
||||
type: string
|
||||
status:
|
||||
description: Status defines a status of the condition, one of
|
||||
True, False, Unknown
|
||||
type: string
|
||||
type:
|
||||
description: Type defines type of condition
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
endpoint:
|
||||
description: Endpoint defines the kafkarest/mds endpoint
|
||||
type: string
|
||||
kafkaClusterId:
|
||||
description: KafkaClusterId defines the cluster id of kafka cluster
|
||||
If using centralized RBAC and kafkarestclass is for secondary kafka
|
||||
cluster, it will be clusterId of secondary kafka cluster
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
version: v1beta1
|
||||
versions:
|
||||
- name: v1beta1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,267 @@
|
|||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.4.1
|
||||
creationTimestamp: null
|
||||
name: kafkatopics.platform.confluent.io
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
- JSONPath: .status.replicas
|
||||
name: Replicas
|
||||
type: string
|
||||
- JSONPath: .status.partitionCount
|
||||
name: Partition
|
||||
type: string
|
||||
- JSONPath: .status.state
|
||||
name: Status
|
||||
type: string
|
||||
- JSONPath: .status.kafkaClusterId
|
||||
name: ClusterId
|
||||
type: string
|
||||
- JSONPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
group: platform.confluent.io
|
||||
names:
|
||||
categories:
|
||||
- all
|
||||
- confluent-platform
|
||||
- confluent
|
||||
kind: KafkaTopic
|
||||
listKind: KafkaTopicList
|
||||
plural: kafkatopics
|
||||
shortNames:
|
||||
- kt
|
||||
- topic
|
||||
singular: kafkatopic
|
||||
preserveUnknownFields: false
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
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:
|
||||
configs:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: Configs allows passing configs for topic More information
|
||||
about topic configs is available here https://docs.confluent.io/current/installation/configuration/topic-configs.html
|
||||
type: object
|
||||
kafkaClusterRef:
|
||||
description: KafkaClusterRef defines the name of the kafka cluster
|
||||
properties:
|
||||
name:
|
||||
description: Name defines name of the Kafka cluster
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines namespace where kafka cluster is
|
||||
running
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
kafkaRest:
|
||||
description: KafkaRestRef defines the Kafka Rest API configuration
|
||||
properties:
|
||||
authentication:
|
||||
description: Authentication defines authentication of Kafka Rest
|
||||
API
|
||||
properties:
|
||||
basic:
|
||||
description: KafkaRestBasicAuthentication defines basic authentication
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
bearer:
|
||||
description: KafkaRestBearerAuthentication defines bearer authentication,
|
||||
used by MDS clients when RBAC enabled
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
type:
|
||||
enum:
|
||||
- basic
|
||||
- bearer
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
endpoint:
|
||||
description: Endpoint defines where confluent Kafka Rest API is
|
||||
running
|
||||
minLength: 1
|
||||
pattern: ^https?://.*
|
||||
type: string
|
||||
tls:
|
||||
description: TLSDependencyConfig defines the client side tls configuration
|
||||
to connect to Kafka Rest API
|
||||
properties:
|
||||
directoryPathInContainer:
|
||||
description: DirectoryPathInContainer contains the directory
|
||||
path in container where keystore/truststore.jks/jksPassword.txt
|
||||
keys are mounted. CP will not configure truststore.jks can
|
||||
be ignored with IgnoreTrustStoreConfig field
|
||||
minLength: 1
|
||||
type: string
|
||||
enabled:
|
||||
description: Enabled enables the TLS configuration for CP component
|
||||
type: boolean
|
||||
ignoreTrustStoreConfig:
|
||||
description: IgnoreTrustStoreConfig when configure ignores the
|
||||
truststore configuration for CP component
|
||||
type: boolean
|
||||
jksPassword:
|
||||
description: JksPassword defines the secret name referenced
|
||||
for jks password
|
||||
properties:
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced
|
||||
for jks password More information about jks password key/value
|
||||
format can be found in Confluent Operator document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced for
|
||||
certificates More information about certificates key/value
|
||||
format can be found in Confluent Operator document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
type: object
|
||||
kafkaRestClassRef:
|
||||
description: KafkaRestClassRef defines the reference for KafkaRestClass
|
||||
which defines Kafka Rest API
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of KafkaRestClass
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the KafkaRestClass
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
name:
|
||||
description: Name defines the topic name. If not configured uses the
|
||||
CR name as topic name.
|
||||
maxLength: 255
|
||||
minLength: 1
|
||||
pattern: ^[a-zA-Z0-9\._\-]*$
|
||||
type: string
|
||||
partitionCount:
|
||||
description: PartitionCount defines the partition count. If not configured
|
||||
then it will be defaulted to whatever kafkarest V3 APIs supports
|
||||
format: int32
|
||||
type: integer
|
||||
replicas:
|
||||
description: Replicas defines the replication factor for a topic. If
|
||||
not configured then it will be defaulted to whatever kafkarest V3
|
||||
APIs supports
|
||||
format: int32
|
||||
type: integer
|
||||
type: object
|
||||
status:
|
||||
description: KafkaTopicStatus defines the observed state of KafkaTopic
|
||||
properties:
|
||||
conditions:
|
||||
items:
|
||||
description: Conditions represents the latest available observations
|
||||
of a statefulset's current state.
|
||||
properties:
|
||||
lastProbeTime:
|
||||
description: LastProbeTime defines a last time the condition is
|
||||
evaluated.
|
||||
format: date-time
|
||||
type: string
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime defines a last time the condition
|
||||
transitioned from one status to another.
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: ' Message defines a human readable message indicating
|
||||
details about the transition.'
|
||||
type: string
|
||||
reason:
|
||||
description: ' Reason defines reason for the condition''s last
|
||||
transition.'
|
||||
type: string
|
||||
status:
|
||||
description: Status defines a status of the condition, one of
|
||||
True, False, Unknown
|
||||
type: string
|
||||
type:
|
||||
description: Type defines type of condition
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
kafkaClusterId:
|
||||
type: string
|
||||
kafkaRestEndpoint:
|
||||
type: string
|
||||
partitionCount:
|
||||
format: int32
|
||||
type: integer
|
||||
replicas:
|
||||
format: int32
|
||||
type: integer
|
||||
state:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
version: v1beta1
|
||||
versions:
|
||||
- name: v1beta1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,669 @@
|
|||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.4.1
|
||||
creationTimestamp: null
|
||||
name: migrationjobs.platform.confluent.io
|
||||
spec:
|
||||
group: platform.confluent.io
|
||||
names:
|
||||
categories:
|
||||
- all
|
||||
- confluent-platform
|
||||
- confluent
|
||||
kind: MigrationJob
|
||||
listKind: MigrationJobList
|
||||
plural: migrationjobs
|
||||
shortNames:
|
||||
- migrationjob
|
||||
- migration
|
||||
singular: migrationjob
|
||||
preserveUnknownFields: false
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: MigrationJob is the Schema for the migrationjobs 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: MigrationJobSpec defines the desired state of MigrationJob
|
||||
properties:
|
||||
blockReconcile:
|
||||
type: boolean
|
||||
connect:
|
||||
description: ConnectMigrationJobSpec defines the desired state of Connect
|
||||
after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that may
|
||||
be set by external tools to store and retrieve arbitrary metadata.
|
||||
They are not queryable and should be preserved when modifying
|
||||
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize (scope
|
||||
and select) objects. May match selectors of replication controllers
|
||||
and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must be
|
||||
unique. An empty namespace is equivalent to the "default" namespace,
|
||||
but "default" is the canonical representation. Not all objects
|
||||
are required to be scoped to a namespace - the value of this field
|
||||
for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
controlcenter:
|
||||
description: ControlCenterMigrationJobSpec defines the desired state
|
||||
of ControlCenter after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that may
|
||||
be set by external tools to store and retrieve arbitrary metadata.
|
||||
They are not queryable and should be preserved when modifying
|
||||
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize (scope
|
||||
and select) objects. May match selectors of replication controllers
|
||||
and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must be
|
||||
unique. An empty namespace is equivalent to the "default" namespace,
|
||||
but "default" is the canonical representation. Not all objects
|
||||
are required to be scoped to a namespace - the value of this field
|
||||
for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
initContainerImage:
|
||||
minLength: 1
|
||||
type: string
|
||||
kafka:
|
||||
description: KafkaMigrationJobSpec defines the descired state of Kafka
|
||||
after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that may
|
||||
be set by external tools to store and retrieve arbitrary metadata.
|
||||
They are not queryable and should be preserved when modifying
|
||||
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize (scope
|
||||
and select) objects. May match selectors of replication controllers
|
||||
and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must be
|
||||
unique. An empty namespace is equivalent to the "default" namespace,
|
||||
but "default" is the canonical representation. Not all objects
|
||||
are required to be scoped to a namespace - the value of this field
|
||||
for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
ksqldb:
|
||||
description: KsqlDBMigrationJobSpec defines the desired state of KsqlDB
|
||||
after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that may
|
||||
be set by external tools to store and retrieve arbitrary metadata.
|
||||
They are not queryable and should be preserved when modifying
|
||||
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize (scope
|
||||
and select) objects. May match selectors of replication controllers
|
||||
and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must be
|
||||
unique. An empty namespace is equivalent to the "default" namespace,
|
||||
but "default" is the canonical representation. Not all objects
|
||||
are required to be scoped to a namespace - the value of this field
|
||||
for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
pullSecretRef:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
replicator:
|
||||
description: ReplicatorMigrationJobSpec defines the desired state of
|
||||
Replicator after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that may
|
||||
be set by external tools to store and retrieve arbitrary metadata.
|
||||
They are not queryable and should be preserved when modifying
|
||||
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize (scope
|
||||
and select) objects. May match selectors of replication controllers
|
||||
and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must be
|
||||
unique. An empty namespace is equivalent to the "default" namespace,
|
||||
but "default" is the canonical representation. Not all objects
|
||||
are required to be scoped to a namespace - the value of this field
|
||||
for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
schemaRegistry:
|
||||
description: SchemaRegistryMigrationJobSpec defines the desired state
|
||||
of SchemaRegistry after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that may
|
||||
be set by external tools to store and retrieve arbitrary metadata.
|
||||
They are not queryable and should be preserved when modifying
|
||||
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize (scope
|
||||
and select) objects. May match selectors of replication controllers
|
||||
and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must be
|
||||
unique. An empty namespace is equivalent to the "default" namespace,
|
||||
but "default" is the canonical representation. Not all objects
|
||||
are required to be scoped to a namespace - the value of this field
|
||||
for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
skipCleanup:
|
||||
type: boolean
|
||||
skipRollback:
|
||||
type: boolean
|
||||
zookeeper:
|
||||
description: ZookeeperMigrationJobSpec defines the desired state of
|
||||
Zookeeper after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that may
|
||||
be set by external tools to store and retrieve arbitrary metadata.
|
||||
They are not queryable and should be preserved when modifying
|
||||
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize (scope
|
||||
and select) objects. May match selectors of replication controllers
|
||||
and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must be
|
||||
unique. An empty namespace is equivalent to the "default" namespace,
|
||||
but "default" is the canonical representation. Not all objects
|
||||
are required to be scoped to a namespace - the value of this field
|
||||
for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
required:
|
||||
- initContainerImage
|
||||
type: object
|
||||
status:
|
||||
description: MigrationJobStatus defines the observed state of MigrationJob
|
||||
properties:
|
||||
conditions:
|
||||
items:
|
||||
description: Conditions represents the latest available observations
|
||||
of a statefulset's current state.
|
||||
properties:
|
||||
lastProbeTime:
|
||||
description: LastProbeTime defines a last time the condition is
|
||||
evaluated.
|
||||
format: date-time
|
||||
type: string
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime defines a last time the condition
|
||||
transitioned from one status to another.
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: ' Message defines a human readable message indicating
|
||||
details about the transition.'
|
||||
type: string
|
||||
reason:
|
||||
description: ' Reason defines reason for the condition''s last
|
||||
transition.'
|
||||
type: string
|
||||
status:
|
||||
description: Status defines a status of the condition, one of
|
||||
True, False, Unknown
|
||||
type: string
|
||||
type:
|
||||
description: Type defines type of condition
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
connect:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
controlcenter:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
kafka:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
ksqldb:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
phase:
|
||||
type: string
|
||||
replicator:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
schemaRegistry:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
zookeeper:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
required:
|
||||
- phase
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
version: v1beta1
|
||||
versions:
|
||||
- name: v1beta1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,248 @@
|
|||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.4.1
|
||||
creationTimestamp: null
|
||||
name: confluentrolebindings.platform.confluent.io
|
||||
spec:
|
||||
group: platform.confluent.io
|
||||
names:
|
||||
categories:
|
||||
- all
|
||||
- confluent-platform
|
||||
- confluent
|
||||
kind: ConfluentRolebinding
|
||||
listKind: ConfluentRolebindingList
|
||||
plural: confluentrolebindings
|
||||
shortNames:
|
||||
- cfrb
|
||||
- confluentrolebinding
|
||||
singular: confluentrolebinding
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.state
|
||||
name: Status
|
||||
type: string
|
||||
- jsonPath: .status.kafkaClusterId
|
||||
name: KafkaClusterId
|
||||
type: string
|
||||
- jsonPath: .status.principal
|
||||
name: Principal
|
||||
type: string
|
||||
- jsonPath: .status.role
|
||||
name: Role
|
||||
type: string
|
||||
- jsonPath: .status.kafkaRestClass
|
||||
name: KafkaRestClass
|
||||
type: string
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
- jsonPath: .status.clusterRegistryName
|
||||
name: ClusterRegistryName
|
||||
priority: 1
|
||||
type: string
|
||||
name: v1beta1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: ConfluentRolebinding is the Schema for the confluentrolebinding
|
||||
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: ConfluentRolebindingSpec defines the desired state of rolebinding
|
||||
for cp component when rbac is enabled
|
||||
properties:
|
||||
clustersScopeByIds:
|
||||
description: ClusterScope defines the scope of clustersId
|
||||
properties:
|
||||
connectClusterId:
|
||||
minLength: 1
|
||||
type: string
|
||||
kafkaClusterId:
|
||||
minLength: 1
|
||||
type: string
|
||||
ksqlClusterId:
|
||||
minLength: 1
|
||||
type: string
|
||||
schemaRegistryClusterId:
|
||||
minLength: 1
|
||||
type: string
|
||||
type: object
|
||||
clustersScopeByRegistryName:
|
||||
description: ClusterRegistryName defines the unique cluster name customer
|
||||
registered in cluster registry
|
||||
minLength: 1
|
||||
type: string
|
||||
kafkaRestClassRef:
|
||||
description: KafkaRestClassRef defines the reference for KafkaRestClass
|
||||
which defines Kafka Rest API
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of KafkaRestClass
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the KafkaRestClass
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
principal:
|
||||
description: Principal defines the confluent rolebinding principal
|
||||
name and the binding details.
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of the principal(user/group)
|
||||
minLength: 1
|
||||
type: string
|
||||
type:
|
||||
enum:
|
||||
- user
|
||||
- group
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- type
|
||||
type: object
|
||||
resourcePatterns:
|
||||
description: ResourcePatterns define the qualified resources associated
|
||||
with this rolebinding
|
||||
items:
|
||||
description: ResourcePattern define the qualified resource info
|
||||
associated with this rolebinding
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of resource associated with
|
||||
this rolebinding
|
||||
minLength: 1
|
||||
type: string
|
||||
patternType:
|
||||
description: PatternType defines whether the pattern of resource
|
||||
is PREFIXED or LITERAL, default is LITERAL if not set
|
||||
enum:
|
||||
- PREFIXED
|
||||
- LITERAL
|
||||
type: string
|
||||
resourceType:
|
||||
description: ResourceType defines the type of resource
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- resourceType
|
||||
type: object
|
||||
type: array
|
||||
role:
|
||||
description: Role defines the name of the Role
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- principal
|
||||
- role
|
||||
type: object
|
||||
status:
|
||||
description: ConfluentRolebindingStatus defines the observed state of
|
||||
ConfluentRolebinding
|
||||
properties:
|
||||
clusterRegistryName:
|
||||
type: string
|
||||
conditions:
|
||||
items:
|
||||
description: Conditions represents the latest available observations
|
||||
of a statefulset's current state.
|
||||
properties:
|
||||
lastProbeTime:
|
||||
description: LastProbeTime defines a last time the condition
|
||||
is evaluated.
|
||||
format: date-time
|
||||
type: string
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime defines a last time the condition
|
||||
transitioned from one status to another.
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: ' Message defines a human readable message indicating
|
||||
details about the transition.'
|
||||
type: string
|
||||
reason:
|
||||
description: ' Reason defines reason for the condition''s last
|
||||
transition.'
|
||||
type: string
|
||||
status:
|
||||
description: Status defines a status of the condition, one of
|
||||
True, False, Unknown
|
||||
type: string
|
||||
type:
|
||||
description: Type defines type of condition
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
kafkaClusterId:
|
||||
type: string
|
||||
kafkaRestClass:
|
||||
type: string
|
||||
mdsEndpoint:
|
||||
type: string
|
||||
principal:
|
||||
type: string
|
||||
resourcePatterns:
|
||||
items:
|
||||
description: ResourcePattern define the qualified resource info
|
||||
associated with this rolebinding
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of resource associated with
|
||||
this rolebinding
|
||||
minLength: 1
|
||||
type: string
|
||||
patternType:
|
||||
description: PatternType defines whether the pattern of resource
|
||||
is PREFIXED or LITERAL, default is LITERAL if not set
|
||||
enum:
|
||||
- PREFIXED
|
||||
- LITERAL
|
||||
type: string
|
||||
resourceType:
|
||||
description: ResourceType defines the type of resource
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- resourceType
|
||||
type: object
|
||||
type: array
|
||||
role:
|
||||
type: string
|
||||
state:
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,325 @@
|
|||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.4.1
|
||||
creationTimestamp: null
|
||||
name: kafkarestclasses.platform.confluent.io
|
||||
spec:
|
||||
group: platform.confluent.io
|
||||
names:
|
||||
categories:
|
||||
- all
|
||||
- confluent-platform
|
||||
- confluent
|
||||
kind: KafkaRestClass
|
||||
listKind: KafkaRestClassList
|
||||
plural: kafkarestclasses
|
||||
shortNames:
|
||||
- krc
|
||||
- kafkarestclass
|
||||
singular: kafkarestclass
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1beta1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: KafkaRestClass is the Schema for the kafkarestclasses 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: KafkaRestClassSpec defines the desired state of KafkaRestClass
|
||||
properties:
|
||||
kafkaClusterRef:
|
||||
description: KafkaClusterRef defines the name of the kafka cluster
|
||||
properties:
|
||||
name:
|
||||
description: Name defines name of the Kafka cluster
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines namespace where kafka cluster is
|
||||
running
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
kafkaRest:
|
||||
description: KafkaRestApiInfo defines Kafka Rest API configuration
|
||||
properties:
|
||||
authentication:
|
||||
description: Authentication defines authentication of Kafka Rest
|
||||
API
|
||||
properties:
|
||||
basic:
|
||||
description: KafkaRestBasicAuthentication defines basic authentication
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
bearer:
|
||||
description: KafkaRestBearerAuthentication defines bearer
|
||||
authentication, used by MDS clients when RBAC enabled
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
type:
|
||||
enum:
|
||||
- basic
|
||||
- bearer
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
endpoint:
|
||||
description: Endpoint defines where confluent Kafka Rest API is
|
||||
running
|
||||
minLength: 1
|
||||
pattern: ^https?://.*
|
||||
type: string
|
||||
tls:
|
||||
description: TLSDependencyConfig defines the client side tls configuration
|
||||
to connect to Kafka Rest API
|
||||
properties:
|
||||
directoryPathInContainer:
|
||||
description: DirectoryPathInContainer contains the directory
|
||||
path in container where keystore/truststore.jks/jksPassword.txt
|
||||
keys are mounted. CP will not configure truststore.jks can
|
||||
be ignored with IgnoreTrustStoreConfig field
|
||||
minLength: 1
|
||||
type: string
|
||||
enabled:
|
||||
description: Enabled enables the TLS configuration for CP
|
||||
component
|
||||
type: boolean
|
||||
ignoreTrustStoreConfig:
|
||||
description: IgnoreTrustStoreConfig when configure ignores
|
||||
the truststore configuration for CP component
|
||||
type: boolean
|
||||
jksPassword:
|
||||
description: JksPassword defines the secret name referenced
|
||||
for jks password
|
||||
properties:
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced
|
||||
for jks password More information about jks password
|
||||
key/value format can be found in Confluent Operator
|
||||
document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced
|
||||
for certificates More information about certificates key/value
|
||||
format can be found in Confluent Operator document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
type: object
|
||||
secondaryKafkaClusterRef:
|
||||
description: SecondaryKafkaClusterRef defines the name of the secondary
|
||||
kafka cluster when using centralized RBAC
|
||||
properties:
|
||||
name:
|
||||
description: Name defines name of the Kafka cluster
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines namespace where kafka cluster is
|
||||
running
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
secondaryKafkaRest:
|
||||
description: SeconaryKafkaRestApiInfo defines secondary Kafka Rest
|
||||
API configuration when using centralized RBAC
|
||||
properties:
|
||||
authentication:
|
||||
description: Authentication defines authentication of Kafka Rest
|
||||
API
|
||||
properties:
|
||||
basic:
|
||||
description: KafkaRestBasicAuthentication defines basic authentication
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
bearer:
|
||||
description: KafkaRestBearerAuthentication defines bearer
|
||||
authentication, used by MDS clients when RBAC enabled
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
type:
|
||||
enum:
|
||||
- basic
|
||||
- bearer
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
endpoint:
|
||||
description: Endpoint defines where confluent Kafka Rest API is
|
||||
running
|
||||
minLength: 1
|
||||
pattern: ^https?://.*
|
||||
type: string
|
||||
tls:
|
||||
description: TLSDependencyConfig defines the client side tls configuration
|
||||
to connect to Kafka Rest API
|
||||
properties:
|
||||
directoryPathInContainer:
|
||||
description: DirectoryPathInContainer contains the directory
|
||||
path in container where keystore/truststore.jks/jksPassword.txt
|
||||
keys are mounted. CP will not configure truststore.jks can
|
||||
be ignored with IgnoreTrustStoreConfig field
|
||||
minLength: 1
|
||||
type: string
|
||||
enabled:
|
||||
description: Enabled enables the TLS configuration for CP
|
||||
component
|
||||
type: boolean
|
||||
ignoreTrustStoreConfig:
|
||||
description: IgnoreTrustStoreConfig when configure ignores
|
||||
the truststore configuration for CP component
|
||||
type: boolean
|
||||
jksPassword:
|
||||
description: JksPassword defines the secret name referenced
|
||||
for jks password
|
||||
properties:
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced
|
||||
for jks password More information about jks password
|
||||
key/value format can be found in Confluent Operator
|
||||
document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced
|
||||
for certificates More information about certificates key/value
|
||||
format can be found in Confluent Operator document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
type: object
|
||||
type: object
|
||||
status:
|
||||
description: KafkaRestClassStatus defines the observed state of KafkaRestClass
|
||||
properties:
|
||||
conditions:
|
||||
items:
|
||||
description: Conditions represents the latest available observations
|
||||
of a statefulset's current state.
|
||||
properties:
|
||||
lastProbeTime:
|
||||
description: LastProbeTime defines a last time the condition
|
||||
is evaluated.
|
||||
format: date-time
|
||||
type: string
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime defines a last time the condition
|
||||
transitioned from one status to another.
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: ' Message defines a human readable message indicating
|
||||
details about the transition.'
|
||||
type: string
|
||||
reason:
|
||||
description: ' Reason defines reason for the condition''s last
|
||||
transition.'
|
||||
type: string
|
||||
status:
|
||||
description: Status defines a status of the condition, one of
|
||||
True, False, Unknown
|
||||
type: string
|
||||
type:
|
||||
description: Type defines type of condition
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
endpoint:
|
||||
description: Endpoint defines the kafkarest/mds endpoint
|
||||
type: string
|
||||
kafkaClusterId:
|
||||
description: KafkaClusterId defines the cluster id of kafka cluster
|
||||
If using centralized RBAC and kafkarestclass is for secondary kafka
|
||||
cluster, it will be clusterId of secondary kafka cluster
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,267 @@
|
|||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.4.1
|
||||
creationTimestamp: null
|
||||
name: kafkatopics.platform.confluent.io
|
||||
spec:
|
||||
group: platform.confluent.io
|
||||
names:
|
||||
categories:
|
||||
- all
|
||||
- confluent-platform
|
||||
- confluent
|
||||
kind: KafkaTopic
|
||||
listKind: KafkaTopicList
|
||||
plural: kafkatopics
|
||||
shortNames:
|
||||
- kt
|
||||
- topic
|
||||
singular: kafkatopic
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.replicas
|
||||
name: Replicas
|
||||
type: string
|
||||
- jsonPath: .status.partitionCount
|
||||
name: Partition
|
||||
type: string
|
||||
- jsonPath: .status.state
|
||||
name: Status
|
||||
type: string
|
||||
- jsonPath: .status.kafkaClusterId
|
||||
name: ClusterId
|
||||
type: string
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1beta1
|
||||
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:
|
||||
configs:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: Configs allows passing configs for topic More information
|
||||
about topic configs is available here https://docs.confluent.io/current/installation/configuration/topic-configs.html
|
||||
type: object
|
||||
kafkaClusterRef:
|
||||
description: KafkaClusterRef defines the name of the kafka cluster
|
||||
properties:
|
||||
name:
|
||||
description: Name defines name of the Kafka cluster
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines namespace where kafka cluster is
|
||||
running
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
kafkaRest:
|
||||
description: KafkaRestRef defines the Kafka Rest API configuration
|
||||
properties:
|
||||
authentication:
|
||||
description: Authentication defines authentication of Kafka Rest
|
||||
API
|
||||
properties:
|
||||
basic:
|
||||
description: KafkaRestBasicAuthentication defines basic authentication
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
bearer:
|
||||
description: KafkaRestBearerAuthentication defines bearer
|
||||
authentication, used by MDS clients when RBAC enabled
|
||||
properties:
|
||||
secretRef:
|
||||
description: Name of the secret reference
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
type:
|
||||
enum:
|
||||
- basic
|
||||
- bearer
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
endpoint:
|
||||
description: Endpoint defines where confluent Kafka Rest API is
|
||||
running
|
||||
minLength: 1
|
||||
pattern: ^https?://.*
|
||||
type: string
|
||||
tls:
|
||||
description: TLSDependencyConfig defines the client side tls configuration
|
||||
to connect to Kafka Rest API
|
||||
properties:
|
||||
directoryPathInContainer:
|
||||
description: DirectoryPathInContainer contains the directory
|
||||
path in container where keystore/truststore.jks/jksPassword.txt
|
||||
keys are mounted. CP will not configure truststore.jks can
|
||||
be ignored with IgnoreTrustStoreConfig field
|
||||
minLength: 1
|
||||
type: string
|
||||
enabled:
|
||||
description: Enabled enables the TLS configuration for CP
|
||||
component
|
||||
type: boolean
|
||||
ignoreTrustStoreConfig:
|
||||
description: IgnoreTrustStoreConfig when configure ignores
|
||||
the truststore configuration for CP component
|
||||
type: boolean
|
||||
jksPassword:
|
||||
description: JksPassword defines the secret name referenced
|
||||
for jks password
|
||||
properties:
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced
|
||||
for jks password More information about jks password
|
||||
key/value format can be found in Confluent Operator
|
||||
document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- secretRef
|
||||
type: object
|
||||
secretRef:
|
||||
description: SecretRef defines the secret name referenced
|
||||
for certificates More information about certificates key/value
|
||||
format can be found in Confluent Operator document
|
||||
maxLength: 30
|
||||
minLength: 1
|
||||
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
type: object
|
||||
kafkaRestClassRef:
|
||||
description: KafkaRestClassRef defines the reference for KafkaRestClass
|
||||
which defines Kafka Rest API
|
||||
properties:
|
||||
name:
|
||||
description: Name defines the name of KafkaRestClass
|
||||
minLength: 1
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the KafkaRestClass
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
name:
|
||||
description: Name defines the topic name. If not configured uses the
|
||||
CR name as topic name.
|
||||
maxLength: 255
|
||||
minLength: 1
|
||||
pattern: ^[a-zA-Z0-9\._\-]*$
|
||||
type: string
|
||||
partitionCount:
|
||||
description: PartitionCount defines the partition count. If not configured
|
||||
then it will be defaulted to whatever kafkarest V3 APIs supports
|
||||
format: int32
|
||||
type: integer
|
||||
replicas:
|
||||
description: Replicas defines the replication factor for a topic.
|
||||
If not configured then it will be defaulted to whatever kafkarest
|
||||
V3 APIs supports
|
||||
format: int32
|
||||
type: integer
|
||||
type: object
|
||||
status:
|
||||
description: KafkaTopicStatus defines the observed state of KafkaTopic
|
||||
properties:
|
||||
conditions:
|
||||
items:
|
||||
description: Conditions represents the latest available observations
|
||||
of a statefulset's current state.
|
||||
properties:
|
||||
lastProbeTime:
|
||||
description: LastProbeTime defines a last time the condition
|
||||
is evaluated.
|
||||
format: date-time
|
||||
type: string
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime defines a last time the condition
|
||||
transitioned from one status to another.
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: ' Message defines a human readable message indicating
|
||||
details about the transition.'
|
||||
type: string
|
||||
reason:
|
||||
description: ' Reason defines reason for the condition''s last
|
||||
transition.'
|
||||
type: string
|
||||
status:
|
||||
description: Status defines a status of the condition, one of
|
||||
True, False, Unknown
|
||||
type: string
|
||||
type:
|
||||
description: Type defines type of condition
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
kafkaClusterId:
|
||||
type: string
|
||||
kafkaRestEndpoint:
|
||||
type: string
|
||||
partitionCount:
|
||||
format: int32
|
||||
type: integer
|
||||
replicas:
|
||||
format: int32
|
||||
type: integer
|
||||
state:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,688 @@
|
|||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.4.1
|
||||
creationTimestamp: null
|
||||
name: migrationjobs.platform.confluent.io
|
||||
spec:
|
||||
group: platform.confluent.io
|
||||
names:
|
||||
categories:
|
||||
- all
|
||||
- confluent-platform
|
||||
- confluent
|
||||
kind: MigrationJob
|
||||
listKind: MigrationJobList
|
||||
plural: migrationjobs
|
||||
shortNames:
|
||||
- migrationjob
|
||||
- migration
|
||||
singular: migrationjob
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1beta1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: MigrationJob is the Schema for the migrationjobs 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: MigrationJobSpec defines the desired state of MigrationJob
|
||||
properties:
|
||||
blockReconcile:
|
||||
type: boolean
|
||||
connect:
|
||||
description: ConnectMigrationJobSpec defines the desired state of
|
||||
Connect after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that
|
||||
may be set by external tools to store and retrieve arbitrary
|
||||
metadata. They are not queryable and should be preserved when
|
||||
modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize
|
||||
(scope and select) objects. May match selectors of replication
|
||||
controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must
|
||||
be unique. An empty namespace is equivalent to the "default"
|
||||
namespace, but "default" is the canonical representation. Not
|
||||
all objects are required to be scoped to a namespace - the value
|
||||
of this field for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
controlcenter:
|
||||
description: ControlCenterMigrationJobSpec defines the desired state
|
||||
of ControlCenter after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that
|
||||
may be set by external tools to store and retrieve arbitrary
|
||||
metadata. They are not queryable and should be preserved when
|
||||
modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize
|
||||
(scope and select) objects. May match selectors of replication
|
||||
controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must
|
||||
be unique. An empty namespace is equivalent to the "default"
|
||||
namespace, but "default" is the canonical representation. Not
|
||||
all objects are required to be scoped to a namespace - the value
|
||||
of this field for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
initContainerImage:
|
||||
minLength: 1
|
||||
type: string
|
||||
kafka:
|
||||
description: KafkaMigrationJobSpec defines the descired state of Kafka
|
||||
after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that
|
||||
may be set by external tools to store and retrieve arbitrary
|
||||
metadata. They are not queryable and should be preserved when
|
||||
modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize
|
||||
(scope and select) objects. May match selectors of replication
|
||||
controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must
|
||||
be unique. An empty namespace is equivalent to the "default"
|
||||
namespace, but "default" is the canonical representation. Not
|
||||
all objects are required to be scoped to a namespace - the value
|
||||
of this field for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
ksqldb:
|
||||
description: KsqlDBMigrationJobSpec defines the desired state of KsqlDB
|
||||
after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that
|
||||
may be set by external tools to store and retrieve arbitrary
|
||||
metadata. They are not queryable and should be preserved when
|
||||
modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize
|
||||
(scope and select) objects. May match selectors of replication
|
||||
controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must
|
||||
be unique. An empty namespace is equivalent to the "default"
|
||||
namespace, but "default" is the canonical representation. Not
|
||||
all objects are required to be scoped to a namespace - the value
|
||||
of this field for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
pullSecretRef:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
replicator:
|
||||
description: ReplicatorMigrationJobSpec defines the desired state
|
||||
of Replicator after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that
|
||||
may be set by external tools to store and retrieve arbitrary
|
||||
metadata. They are not queryable and should be preserved when
|
||||
modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize
|
||||
(scope and select) objects. May match selectors of replication
|
||||
controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must
|
||||
be unique. An empty namespace is equivalent to the "default"
|
||||
namespace, but "default" is the canonical representation. Not
|
||||
all objects are required to be scoped to a namespace - the value
|
||||
of this field for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
schemaRegistry:
|
||||
description: SchemaRegistryMigrationJobSpec defines the desired state
|
||||
of SchemaRegistry after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that
|
||||
may be set by external tools to store and retrieve arbitrary
|
||||
metadata. They are not queryable and should be preserved when
|
||||
modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize
|
||||
(scope and select) objects. May match selectors of replication
|
||||
controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must
|
||||
be unique. An empty namespace is equivalent to the "default"
|
||||
namespace, but "default" is the canonical representation. Not
|
||||
all objects are required to be scoped to a namespace - the value
|
||||
of this field for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
skipCleanup:
|
||||
type: boolean
|
||||
skipRollback:
|
||||
type: boolean
|
||||
zookeeper:
|
||||
description: ZookeeperMigrationJobSpec defines the desired state of
|
||||
Zookeeper after migration
|
||||
properties:
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Annotations for the new resource created. Annotations
|
||||
is an unstructured key value map stored with a resource that
|
||||
may be set by external tools to store and retrieve arbitrary
|
||||
metadata. They are not queryable and should be preserved when
|
||||
modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||||
type: object
|
||||
configOverrides:
|
||||
description: ConfigurationOverrides for the new resource created.
|
||||
Takes precedence over configuration already present in old CR
|
||||
properties:
|
||||
jvm:
|
||||
description: JVM defines a list of jvm configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
log4j:
|
||||
description: Log4j defines a list of log4J configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
server:
|
||||
description: server is list of server configuration supported
|
||||
by application. This will either add or update existing
|
||||
configuration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
enabled:
|
||||
description: Indicates if Migration of this component is enabled
|
||||
type: boolean
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'Labels for the new resource created. Map of string
|
||||
keys and values that can be used to organize and categorize
|
||||
(scope and select) objects. May match selectors of replication
|
||||
controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
||||
type: object
|
||||
name:
|
||||
description: Name of the V1 resource to migrate. It must be unique
|
||||
within a namespace Note that the resource will be deleted once
|
||||
the migration is complete Required if this component is enabled
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the space within each name must
|
||||
be unique. An empty namespace is equivalent to the "default"
|
||||
namespace, but "default" is the canonical representation. Not
|
||||
all objects are required to be scoped to a namespace - the value
|
||||
of this field for those objects will be empty.
|
||||
type: string
|
||||
release:
|
||||
description: ReleaseName for the helm release for the component.
|
||||
It is optional for kafka and zookeeper release.
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- enabled
|
||||
type: object
|
||||
required:
|
||||
- initContainerImage
|
||||
type: object
|
||||
status:
|
||||
description: MigrationJobStatus defines the observed state of MigrationJob
|
||||
properties:
|
||||
conditions:
|
||||
items:
|
||||
description: Conditions represents the latest available observations
|
||||
of a statefulset's current state.
|
||||
properties:
|
||||
lastProbeTime:
|
||||
description: LastProbeTime defines a last time the condition
|
||||
is evaluated.
|
||||
format: date-time
|
||||
type: string
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime defines a last time the condition
|
||||
transitioned from one status to another.
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: ' Message defines a human readable message indicating
|
||||
details about the transition.'
|
||||
type: string
|
||||
reason:
|
||||
description: ' Reason defines reason for the condition''s last
|
||||
transition.'
|
||||
type: string
|
||||
status:
|
||||
description: Status defines a status of the condition, one of
|
||||
True, False, Unknown
|
||||
type: string
|
||||
type:
|
||||
description: Type defines type of condition
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
connect:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
controlcenter:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
kafka:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
ksqldb:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
phase:
|
||||
type: string
|
||||
replicator:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
schemaRegistry:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
zookeeper:
|
||||
description: CommonMigrationStatus defines spec common to different
|
||||
migration resources
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
required:
|
||||
- phase
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,4 @@
|
|||
The Confluent Operator
|
||||
|
||||
The Confluent Operator brings the component (Confluent Services) specific controllers for kubernetes by providing components specific Custom Resource
|
||||
Definition (CRD) as well as managing other Confluent Platform services
|
|
@ -0,0 +1,42 @@
|
|||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "confluent-operator.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "confluent-operator.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "confluent-operator.service-account" -}}
|
||||
{{- if .Values.serviceAccount.create -}}
|
||||
{{ default (include "confluent-operator.name" .) .Values.serviceAccount.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "confluent-operator.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
|
@ -0,0 +1,126 @@
|
|||
{{- if .Values.rbac }}
|
||||
{{- $clusterRole := or (not .Values.namespaced) (gt (len .Values.namespaceList) 0)}}
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
{{- if not $clusterRole }}
|
||||
kind: Role
|
||||
{{- else }}
|
||||
kind: ClusterRole
|
||||
{{- end }}
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/name: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/component: "confluent-operator"
|
||||
helm.sh/chart: {{ include "confluent-operator.chart" . }}
|
||||
name: {{ .Values.name }}
|
||||
{{- if not $clusterRole }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- cluster.confluent.com
|
||||
resources:
|
||||
- zookeeperclusters
|
||||
- zookeeperclusters/status
|
||||
- zookeeperclusters/scale
|
||||
- zookeeperclusters/finalizers
|
||||
- kafkaclusters
|
||||
- kafkaclusters/status
|
||||
- kafkaclusters/scale
|
||||
- kafkaclusters/finalizers
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- operator.confluent.cloud
|
||||
resources:
|
||||
- physicalstatefulclusters
|
||||
- physicalstatefulclusters/scale
|
||||
- physicalstatefulclusters/status
|
||||
- physicalstatefulclusters/finalizers
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- platform.confluent.io
|
||||
resources:
|
||||
- '*'
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- policy
|
||||
resources:
|
||||
- poddisruptionbudgets
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
- apiGroups:
|
||||
- route.openshift.io
|
||||
resources:
|
||||
- routes
|
||||
- routes/custom-host
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- statefulsets
|
||||
- statefulsets/scale
|
||||
- statefulsets/status
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- events
|
||||
- persistentvolumeclaims
|
||||
- secrets
|
||||
- secrets/finalizers
|
||||
- pods
|
||||
- services
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
- apiGroups:
|
||||
- networking.k8s.io
|
||||
resources:
|
||||
- ingresses
|
||||
- ingresses/status
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- namespaces
|
||||
verbs:
|
||||
- get
|
||||
{{- end }}
|
|
@ -0,0 +1,33 @@
|
|||
{{- if .Values.rbac }}
|
||||
{{- $clusterRoleBinding := or (not .Values.namespaced) (gt (len .Values.namespaceList) 0)}}
|
||||
{{- if not $clusterRoleBinding }}
|
||||
kind: RoleBinding
|
||||
{{- else }}
|
||||
kind: ClusterRoleBinding
|
||||
{{- end }}
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/name: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/component: "confluent-operator"
|
||||
helm.sh/chart: {{ include "confluent-operator.chart" . }}
|
||||
name: {{ .Values.name }}
|
||||
{{- if not $clusterRoleBinding }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
{{- end }}
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ template "confluent-operator.service-account" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
roleRef:
|
||||
{{- if not $clusterRoleBinding }}
|
||||
kind: Role
|
||||
{{- else }}
|
||||
kind: ClusterRole
|
||||
{{- end }}
|
||||
name: {{ .Values.name }}
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
{{- end }}
|
|
@ -0,0 +1,130 @@
|
|||
{{- $_ := required "Namespace is required" .Release.Namespace }}
|
||||
{{- $_ := required "Name of operator is required." .Values.name }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/name: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/component: "confluent-operator"
|
||||
helm.sh/chart: {{ include "confluent-operator.chart" . }}
|
||||
version: {{ .Values.image.tag }}
|
||||
name: {{ .Values.name }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicas }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: "confluent-operator"
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 1
|
||||
maxUnavailable: 0
|
||||
type: RollingUpdate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
{{- range $key, $value := .Values.pod.annotations }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
labels:
|
||||
app: "confluent-operator"
|
||||
app.kubernetes.io/name: "confluent-operator"
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
confluent-platform: "true"
|
||||
version: {{ .Values.image.tag }}
|
||||
{{- range $key, $value := .Values.pod.labels }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if not (empty $.Values.affinity) }}
|
||||
affinity:
|
||||
{{ toYaml .Values.affinity | trim | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if not (empty $.Values.tolerations) }}
|
||||
tolerations:
|
||||
{{ toYaml .Values.tolerations | trim | indent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.podSecurity.enabled }}
|
||||
securityContext:
|
||||
{{ toYaml .Values.podSecurity.securityContext | indent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- args:
|
||||
- --debug={{.Values.debug}}
|
||||
{{- if gt (int (.Values.replicas)) 1 }}
|
||||
- --enable-leader-election
|
||||
{{- end }}
|
||||
{{- if .Values.namespaced }}
|
||||
{{- if empty .Values.namespaceList }}
|
||||
- --namespaces={{ .Release.Namespace }}
|
||||
{{- else}}
|
||||
{{- $ns := "" }}
|
||||
{{- range $i, $v := .Values.namespaceList }}
|
||||
{{- $ns = printf "%s,%s" $ns (trim $v) }}
|
||||
{{- end }}
|
||||
- --namespaces={{ substr 1 (len $ns) $ns }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ .Values.name }}
|
||||
image: {{ .Values.image.registry }}/{{ .Values.image.repository }}:{{.Values.image.tag }}
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
port: 8080
|
||||
path: /readyz
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
port: 8080
|
||||
path: /healthz
|
||||
resources:
|
||||
{{ toYaml .Values.resources | trim | indent 10 }}
|
||||
env:
|
||||
- name: NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: NODEIP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: DD_ENTITY_ID
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.uid
|
||||
{{- if .Values.licenseSecretRef }}
|
||||
- name: CONFLUENT_LICENSE_SECRET_NAME
|
||||
value: {{ .Values.licenseSecretRef }}
|
||||
{{- end }}
|
||||
{{- if .Values.telemetry.enabled }}
|
||||
{{- if and (empty .Values.telemetry.secretRef) (empty .Values.telemetry.directoryPathInContainer) }}
|
||||
{{- $_ := required "secretRef or directoryPathInContainer must be configured when telemetry is enabled" .Values.telemetry.secretRef }}
|
||||
{{- end }}
|
||||
{{- if .Values.telemetry.secretRef }}
|
||||
- name: CONFLUENT_TELEMETRY_SECRET_NAME
|
||||
value: {{ .Values.telemetry.secretRef }}
|
||||
{{- end }}
|
||||
{{- if .Values.telemetry.directoryPathInContainer }}
|
||||
- name: CONFLUENT_TELEMETRY_DIRECTORY_PATH
|
||||
value: {{ .Values.telemetry.directoryPathInContainer }}
|
||||
{{- end }}
|
||||
{{- if .Values.telemetry.proxy.enabled }}
|
||||
- name: CONFLUENT_TELEMETRY_PROXY_ENABLED
|
||||
value: "true"
|
||||
{{- end }}
|
||||
{{- if .Values.telemetry.proxy.credentialRequired }}
|
||||
- name: CONFLUENT_TELEMETRY_PROXY_CREDENTIAL_REQUIRED
|
||||
value: "true"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "confluent-operator.service-account" . }}
|
||||
{{- if .Values.priorityClassName }}
|
||||
priorityClassName: {{ .Values.priorityClassName | quote }}
|
||||
{{- end }}
|
||||
restartPolicy: Always
|
||||
terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }}
|
|
@ -0,0 +1,20 @@
|
|||
{{- if not .Values.licenseSecretRef }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/name: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/component: "confluent-operator"
|
||||
helm.sh/chart: {{ include "confluent-operator.chart" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
name: confluent-operator-licensing
|
||||
type: Opaque
|
||||
data:
|
||||
{{- if .Values.licenseKey }}
|
||||
license.txt: {{ .Values.licenseKey | b64enc }}
|
||||
{{- end }}
|
||||
publicKey.pem: {{ .Values.publicKey | b64enc }}
|
||||
{{- end }}
|
|
@ -0,0 +1,23 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/name: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/component: "confluent-operator"
|
||||
helm.sh/chart: {{ include "confluent-operator.chart" . }}
|
||||
name: confluent-operator
|
||||
namespace: {{ .Release.Namespace }}
|
||||
spec:
|
||||
ports:
|
||||
- name: http-metric
|
||||
port: 7778
|
||||
protocol: TCP
|
||||
targetPort: 7778
|
||||
selector:
|
||||
app: "confluent-operator"
|
||||
app.kubernetes.io/name: "confluent-operator"
|
||||
type: ClusterIP
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{{- if .Values.serviceAccount.create -}}
|
||||
apiVersion: v1
|
||||
{{- if .Values.imagePullSecretRef }}
|
||||
imagePullSecrets:
|
||||
- name: {{ .Values.imagePullSecretRef }}
|
||||
{{- end }}
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/name: {{ include "confluent-operator.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/component: "confluent-operator"
|
||||
helm.sh/chart: {{ include "confluent-operator.chart" . }}
|
||||
name: {{ template "confluent-operator.service-account" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
{{- end }}
|
|
@ -0,0 +1,146 @@
|
|||
## Confluent operator name
|
||||
##
|
||||
name: confluent-operator
|
||||
##
|
||||
## License Key for Operator
|
||||
##
|
||||
licenseKey: ""
|
||||
publicKey: |-
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvaGy8TOdbCMySM7zqZsx
|
||||
n62yuE+BhIPlc9z9ctrX+tBWNCCJePZbKHTZS9uKLeKUi9u07ts/35XRnE4ATD6q
|
||||
lwjnSoJOkeIXcYiJ+XGExN1oRE8Rl5otvdmJEsb9Y6Jsfe2lRCCsZNx6k1s1NmQF
|
||||
R4wnRiKylIiYJ9uWUGfH18JKZqM8z9QqkZ/+zQkzHNYsXn/YyRuDIQXeUSechr93
|
||||
Jjt79AikskicoT04lqz/GaHz2WJEyuvLLE1jNBOComKl05Qb+yvJmGnt/7HX6HT7
|
||||
3hnCXbslwtzp0CmeGOiJRbJxbahkTFqh1oKqZXUDCZrKCNNRvXqN/QHqnawo6kJy
|
||||
8wIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
##
|
||||
## The license secret ref is injected through
|
||||
## CONFLUENT_LICENSE_SECRET_NAME environment variable.
|
||||
## The expected keys: license.txt, publicKey.pem
|
||||
## If the value is empty, then charts will create license secret
|
||||
## with name `confluent-operator-licensing`
|
||||
###
|
||||
licenseSecretRef: ""
|
||||
###
|
||||
## Image pull secret
|
||||
imagePullSecretRef: confluent-registry
|
||||
## Confluent Operator Image Information
|
||||
##
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: confluentinc/confluent-operator
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "0.174.21"
|
||||
|
||||
###
|
||||
## Priority class for Confluent Operator pod
|
||||
priorityClassName: ""
|
||||
## Number of pods for Operator
|
||||
## Enables leader election if more than one replica
|
||||
replicas: 1
|
||||
## Confluent Operator Cluster Access
|
||||
## If true, operator only creates roles/rolebinding for the release namespace
|
||||
## Otherwise, it has cluster access with clusterrole/clusterrrolebinding
|
||||
namespaced: true
|
||||
### list of namespaces to watch by operator
|
||||
### This field only takes in effect if `namespaced=true`. By default, it will only watch the release namespace
|
||||
### Otherwise, it will watch specified namespaces. If watching only release namespace, do not specify this field
|
||||
namespaceList: []
|
||||
## Confluent Operator Pod Resources
|
||||
##
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
## Pod termination grace-period
|
||||
##
|
||||
terminationGracePeriodSeconds: 30
|
||||
## Enable debugging
|
||||
##
|
||||
debug: false
|
||||
##
|
||||
## Configure affinity,
|
||||
## More information here https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
##
|
||||
affinity: {}
|
||||
## Example for nodeAffinity, configure as required.
|
||||
##affinity:
|
||||
## nodeAffinity:
|
||||
## requiredDuringSchedulingIgnoredDuringExecution:
|
||||
## nodeSelectorTerms:
|
||||
## - matchExpressions:
|
||||
## - key: "node-role.kubernetes.io/compute"
|
||||
## operator: In
|
||||
## values:
|
||||
## - "true"
|
||||
|
||||
##
|
||||
## Configure tolerations
|
||||
## https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
##
|
||||
##tolerations:
|
||||
##- key: "dedicated"
|
||||
## operator: "Equal"
|
||||
## value: "operator"
|
||||
## effect: "NoSchedule"
|
||||
|
||||
## Pod Security Context
|
||||
##
|
||||
podSecurity:
|
||||
enabled: true
|
||||
securityContext:
|
||||
fsGroup: 1001
|
||||
runAsUser: 1001
|
||||
runAsNonRoot: true
|
||||
##
|
||||
## ServiceAccount
|
||||
## If enabled it will create, otherwise it will
|
||||
## not create
|
||||
##
|
||||
serviceAccount:
|
||||
create: true
|
||||
name: ""
|
||||
## Enable Kubernetes RBAC
|
||||
## When set to true, it will create a proper role/rolebinding or cluster/clusterrolebinding based on namespaced field.
|
||||
## If a user doesn't have permission to create role/rolebinding then they can disable rbac field and
|
||||
## create required resources out of band to be used by the Operator. In this case, follow the
|
||||
## templates/clusterrole.yaml and templates/clusterrolebiding.yaml to create proper required resources.
|
||||
rbac: true
|
||||
###
|
||||
### Confluent Telemetry Report configuration
|
||||
## The secretRef contains following data,
|
||||
## telemetry.txt: |-
|
||||
## api.key=<api_key>
|
||||
## api.secret=<api_secret>
|
||||
## proxy.url=<proxy_url> # only required if proxy is enabled
|
||||
## proxy.username=<proxy_username> # only required if proxy requires credential
|
||||
## proxy.password=<proxy_password>
|
||||
##
|
||||
telemetry:
|
||||
enabled: false
|
||||
proxy:
|
||||
enabled: false
|
||||
credentialRequired: false
|
||||
secretRef: ""
|
||||
## To use directoryPathInContainer, need to make sure
|
||||
## you mount telemetry.txt in the path you provided here in each pod
|
||||
directoryPathInContainer: ""
|
||||
|
||||
##
|
||||
## Pod annotations/labels configurations
|
||||
##
|
||||
pod:
|
||||
annotations:
|
||||
prometheus.io/path: "/metrics"
|
||||
prometheus.io/port: "7778"
|
||||
prometheus.io/scrape: "true"
|
||||
labels: {}
|
||||
# labels:
|
||||
# key: "value"
|
27
index.yaml
27
index.yaml
|
@ -452,6 +452,33 @@ entries:
|
|||
urls:
|
||||
- assets/cockroachdb/cockroachdb-4.1.200.tgz
|
||||
version: 4.1.200
|
||||
confluent-for-kubernetes:
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/display-name: Confluent For Kubernetes
|
||||
catalog.cattle.io/release-name: confluent-for-kubernetes
|
||||
apiVersion: v1
|
||||
appVersion: 2.0.2
|
||||
created: "2021-09-03T16:12:20.007868-04:00"
|
||||
description: A Helm chart to deploy Confluent for Kubernetes
|
||||
digest: 14d6eb38fca10b8ed7fca9f3c256993b8e3560211f96733a1ab6318fa8e2cd83
|
||||
home: https://www.confluent.io/
|
||||
icon: https://cdn.confluent.io/wp-content/uploads/seo-logo-meadow.png
|
||||
keywords:
|
||||
- Confluent
|
||||
- Confluent Operator
|
||||
- Confluent Platform
|
||||
- CFK
|
||||
kubeVersion: 1.15 - 1.20
|
||||
maintainers:
|
||||
- email: operator@confluent.io
|
||||
name: Confluent Operator
|
||||
name: confluent-for-kubernetes
|
||||
sources:
|
||||
- https://docs.confluent.io/current/index.html
|
||||
urls:
|
||||
- assets/confluent-for-kubernetes/confluent-for-kubernetes-0.174.2101.tgz
|
||||
version: 0.174.2101
|
||||
control-agent:
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
Confluent for Kubernetes
|
||||
==================================================================
|
||||
|
||||
Confluent for Kubernetes (CFK) is a cloud-native control plane for deploying and managing Confluent in your private cloud environment. It provides standard and simple interface to customize, deploy, and manage Confluent Platform through declarative API.
|
||||
|
||||
Confluent for Kubernetes runs on Kubernetes, the runtime for private cloud architectures.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
NOTE: Confluent for Kubernetes is the next generation of Confluent Operator. For Confluent Operator 1.x documentation, see [Confluent Operator 1](https://docs.confluent.io/operator/1.7.0/overview.html), or use the version picker to browse to a specific version of the documentation.
|
||||
|
||||
See [Introducing Confluent for Kubernetes](https://www.confluent.io/blog/confluent-for-kubernetes-offers-cloud-native-kafka-automation/) for an overview.
|
||||
|
||||
The following shows the high-level architecture of Confluent for Kubernetes and Confluent Platform in Kubernetes.
|
||||
|
||||
[![_images/co-architecture.png](https://docs.confluent.io/operator/current/_images/co-architecture.png)](_images/co-architecture.png)
|
||||
|
||||
Features
|
||||
---------------------------------------------------
|
||||
|
||||
The following are summaries of the main, notable features of Confluent for Kubernetes.
|
||||
|
||||
#### Cloud Native Declarative API
|
||||
|
||||
* Declarative Kubernetes-native API approach to configure, deploy, and manage Confluent Platform components (Apache KafkaB., Connect workers, ksqlDB, Schema Registry, Confluent Control Center) and resources (topics, rolebindings) through Infrastructure as Code (IaC).
|
||||
* Provides built-in automation for cloud-native security best practices:
|
||||
* Complete granular RBAC, authentication and TLS network encryption
|
||||
* Auto-generated certificates
|
||||
* Support for credential management systems, such as Hashicorp Vault, to inject sensitive configurations in memory to Confluent deployments
|
||||
* Provides server properties, JVM, and Log4j configuration overrides for customization of all Confluent Platform components.
|
||||
|
||||
#### Upgrades
|
||||
|
||||
* Provides automated rolling updates for configuration changes.
|
||||
* Provides automated rolling upgrades with no impact to Kafka availability.
|
||||
|
||||
#### Scaling
|
||||
|
||||
* Provides single command, automated scaling and reliability checks of Confluent Platform.
|
||||
|
||||
#### Resiliency
|
||||
|
||||
* Restores a Kafka pod with the same Kafka broker ID, configuration, and persistent storage volumes if a failure occurs.
|
||||
* Provides automated rack awareness to spread replicas of a partition across different racks (or zones), improving availability of Kafka brokers and limiting the risk of data loss.
|
||||
|
||||
#### Scheduling
|
||||
|
||||
* Supports Kubernetes labels and annotations to provide useful context to DevOps teams and ecosystem tooling.
|
||||
* Supports Kubernetes tolerations and pod/node affinity for efficient resource utilization and pod placement.
|
||||
|
||||
#### Monitoring
|
||||
|
||||
* Supports metrics aggregation using JMX/Jolokia.
|
||||
* Supports aggregated metrics export to Prometheus.
|
||||
|
||||
Licensing
|
||||
-----------------------------------------------------
|
||||
|
||||
You can use Confluent for Kubernetes and Confluent Control Center for a 30-day trial period without a license key.
|
||||
|
||||
After 30 days, Confluent for Kubernetes and Control Center require a license key. Confluent issues keys to subscribers, along with providing [enterprise-level support](https://www.confluent.io/subscription/) for Confluent components and Confluent for Kubernetes.
|
||||
|
||||
If you are a subscriber, contact Confluent Support at [support@confluent.io](mailto:support@confluent.io) for more information.
|
||||
|
||||
See [Update Confluent Platform License](co-license.html#co-license-key) if you have received a key for Confluent for Kubernetes.
|
||||
|
||||
© Copyright 2021 , Confluent, Inc. [Privacy Policy](https://www.confluent.io/confluent-privacy-statement/) | [Terms & Conditions](https://www.confluent.io/terms-of-use/). Apache, Apache Kafka, Kafka and the Kafka logo are trademarks of the [Apache Software Foundation](http://www.apache.org/). All other trademarks, servicemarks, and copyrights are the property of their respective owners.
|
||||
|
||||
[Please report any inaccuracies on this page or suggest an edit.](mailto:docs@confluent.io)
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
##Confluent For Kubernetes
|
||||
|
||||
With Confluent for Kubernetes, Confluent brings a cloud-native experience for data in motion workloads in on-premises environments. Based on our expertise and learnings from operating over 5,000 clusters in Confluent Cloud, Confluent for Kubernetes offers an opinionated deployment of Confluent Platform that enhances the platformb's elasticity, ease of operations, and resiliency.
|
|
@ -0,0 +1,21 @@
|
|||
--- charts-original/Chart.yaml
|
||||
+++ charts/Chart.yaml
|
||||
@@ -1,12 +1,18 @@
|
||||
apiVersion: v1
|
||||
appVersion: 2.0.2
|
||||
+annotations:
|
||||
+ catalog.cattle.io/certified: partner
|
||||
+ catalog.cattle.io/display-name: Confluent For Kubernetes
|
||||
+ catalog.cattle.io/release-name: confluent-for-kubernetes
|
||||
description: A Helm chart to deploy Confluent for Kubernetes
|
||||
home: https://www.confluent.io/
|
||||
+icon: https://cdn.confluent.io/wp-content/uploads/seo-logo-meadow.png
|
||||
keywords:
|
||||
- Confluent
|
||||
- Confluent Operator
|
||||
- Confluent Platform
|
||||
- CFK
|
||||
+kubeVersion: 1.15 - 1.20
|
||||
maintainers:
|
||||
- email: operator@confluent.io
|
||||
name: Confluent Operator
|
|
@ -0,0 +1,3 @@
|
|||
url: https://confluent-helm-prod.s3-us-west-2.amazonaws.com/helm/confluent-for-kubernetes-0.174.21.tgz
|
||||
packageVersion: 01
|
||||
|
Loading…
Reference in New Issue