475 lines
20 KiB
YAML
475 lines
20 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.9.2
|
|
creationTimestamp: null
|
|
name: schemas.platform.confluent.io
|
|
spec:
|
|
group: platform.confluent.io
|
|
names:
|
|
categories:
|
|
- all
|
|
- confluent-platform
|
|
- confluent
|
|
kind: Schema
|
|
listKind: SchemaList
|
|
plural: schemas
|
|
shortNames:
|
|
- schema
|
|
singular: schema
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.format
|
|
name: Format
|
|
type: string
|
|
- jsonPath: .status.id
|
|
name: ID
|
|
type: string
|
|
- jsonPath: .status.version
|
|
name: Version
|
|
type: string
|
|
- jsonPath: .status.phase
|
|
name: Status
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- jsonPath: .status.schemaRegistryEndpoint
|
|
name: SchemaRegistryEndpoint
|
|
priority: 1
|
|
type: string
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation
|
|
of an object. Servers should convert recognized schemas to the latest
|
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this
|
|
object represents. Servers may infer this from the endpoint the client
|
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: spec defines the desired state of the Schema.
|
|
properties:
|
|
compatibilityLevel:
|
|
description: 'compatibilityLevel specifies the compatibility level
|
|
requirement for the schema under the specified subject. Valid options
|
|
are `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`,
|
|
`FULL`, `FULL_TRANSITIVE` and `NONE`. more info: https://docs.confluent.io/platform/current/schema-registry/avro.html#schema-evolution-and-compatibility'
|
|
enum:
|
|
- BACKWARD
|
|
- BACKWARD_TRANSITIVE
|
|
- FORWARD
|
|
- FORWARD_TRANSITIVE
|
|
- FULL
|
|
- FULL_TRANSITIVE
|
|
- NONE
|
|
type: string
|
|
data:
|
|
description: data defines the data required to create the schema.
|
|
properties:
|
|
configRef:
|
|
description: configRef is the name of the Kubernetes ConfigMap
|
|
resource containing the schema.
|
|
minLength: 1
|
|
type: string
|
|
format:
|
|
description: format is the format type of the encoded schema.
|
|
Valid options are `avro`, `json`, and `protobuf`.
|
|
enum:
|
|
- avro
|
|
- json
|
|
- protobuf
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- configRef
|
|
- format
|
|
type: object
|
|
name:
|
|
description: name specifies the subject name of schema. If not configured,
|
|
the Schema CR name is used as the subject name.
|
|
maxLength: 255
|
|
minLength: 1
|
|
pattern: ^[^\\]*$
|
|
type: string
|
|
schemaReferences:
|
|
description: schemaReferences defines the schema references in the
|
|
schema data.
|
|
items:
|
|
description: SchemaReference is the schema to be used as a reference
|
|
for the new schema.
|
|
properties:
|
|
avro:
|
|
description: avro is the data for the referenced Avro schema.
|
|
properties:
|
|
avro:
|
|
description: name is the fully qualified name of the referenced
|
|
Avro schema.
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- avro
|
|
type: object
|
|
format:
|
|
description: format is the format type of the referenced schema.
|
|
Valid options are `avro`, `json`, and `protobuf`.
|
|
enum:
|
|
- avro
|
|
- json
|
|
- protobuf
|
|
minLength: 1
|
|
type: string
|
|
json:
|
|
description: json is the data for the referenced JSON schema.
|
|
properties:
|
|
url:
|
|
description: url is the referenced JSON schema url.
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- url
|
|
type: object
|
|
protobuf:
|
|
description: protobuf is the data for the referenced Protobuf
|
|
schema.
|
|
properties:
|
|
file:
|
|
description: file is the file name of the referenced Protobuf
|
|
schema.
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- file
|
|
type: object
|
|
subject:
|
|
description: subject is the subject name for the referenced
|
|
schema through the configRef.
|
|
minLength: 1
|
|
type: string
|
|
version:
|
|
description: version is the version type of the referenced schema.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- format
|
|
- subject
|
|
- version
|
|
type: object
|
|
type: array
|
|
schemaRegistryClusterRef:
|
|
description: schemaRegistryClusterRef references the CFK-managed Schema
|
|
Registry cluster.
|
|
properties:
|
|
name:
|
|
description: name specifies the name of the Confluent Platform
|
|
component cluster.
|
|
type: string
|
|
namespace:
|
|
description: namespace specifies the namespace where the Confluent
|
|
Platform component cluster is running.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
schemaRegistryRest:
|
|
description: schemaRegistryRest specifies the Schema Registry REST
|
|
API configuration.
|
|
properties:
|
|
authentication:
|
|
description: authentication specifies the REST API authentication
|
|
mechanism.
|
|
properties:
|
|
basic:
|
|
description: basic specifies the basic authentication settings
|
|
for the REST API client.
|
|
properties:
|
|
debug:
|
|
description: debug enables the basic authentication debug
|
|
logs for JaaS configuration.
|
|
type: boolean
|
|
directoryPathInContainer:
|
|
description: 'directoryPathInContainer allows to pass
|
|
the basic credential through a directory path in the
|
|
container. More info: https://docs.confluent.io/operator/current/co-authenticate.html#basic-authentication'
|
|
minLength: 1
|
|
type: string
|
|
restrictedRoles:
|
|
description: restrictedRoles specify the restricted roles
|
|
on the server side only. Changes will be only reflected
|
|
in Control Center. This configuration is ignored on
|
|
the client side configuration.
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
type: array
|
|
roles:
|
|
description: roles specify the roles on the server side
|
|
only. This configuration is ignored on the client side
|
|
configuration.
|
|
items:
|
|
type: string
|
|
type: array
|
|
secretRef:
|
|
description: 'secretRef defines secret reference to pass
|
|
the required credentials. More info: https://docs.confluent.io/operator/current/co-authenticate.html#basic-authentication'
|
|
maxLength: 30
|
|
minLength: 1
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
type: object
|
|
bearer:
|
|
description: bearer specifies the bearer authentication settings
|
|
for the REST API client.
|
|
properties:
|
|
directoryPathInContainer:
|
|
description: directoryPathInContainer specifies the directory
|
|
path in the container where the credential is mounted.
|
|
minLength: 1
|
|
type: string
|
|
secretRef:
|
|
description: 'secretRef specifies the name of the secret
|
|
that contains the credential. More info: https://docs.confluent.io/operator/current/co-authenticate.html#bearer-authentication'
|
|
maxLength: 30
|
|
minLength: 1
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
type: object
|
|
type:
|
|
description: type specifies the REST API authentication type.
|
|
Valid options are `basic`, `bearer`, and `mtls`.
|
|
enum:
|
|
- basic
|
|
- bearer
|
|
- mtls
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
endpoint:
|
|
description: endpoint specifies where Confluent REST API is running.
|
|
minLength: 1
|
|
pattern: ^https?://.*
|
|
type: string
|
|
kafkaClusterID:
|
|
description: kafkaClusterID specifies the id of Kafka cluster.
|
|
It takes precedence over using the Kafka REST API to get the
|
|
cluster id.
|
|
minLength: 1
|
|
type: string
|
|
tls:
|
|
description: tls specifies the custom TLS structure for the application
|
|
resources, e.g. connector, topic, schema, of the Confluent Platform
|
|
components.
|
|
properties:
|
|
directoryPathInContainer:
|
|
description: directoryPathInContainer contains the directory
|
|
path in the container where `keystore.jks`, `truststore.jks`,
|
|
`jksPassword.txt` keys are mounted.
|
|
minLength: 1
|
|
type: string
|
|
jksPassword:
|
|
description: jksPassword specifies the secret name that contains
|
|
the JKS password.
|
|
properties:
|
|
secretRef:
|
|
description: 'secretRef references the name of the secret
|
|
containing the JKS password. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
|
|
maxLength: 30
|
|
minLength: 1
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
required:
|
|
- secretRef
|
|
type: object
|
|
secretRef:
|
|
description: 'secretRef specifies the secret name that contains
|
|
the certificates. More info about certificates key/value
|
|
format: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
|
|
maxLength: 63
|
|
minLength: 1
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
type: object
|
|
type: object
|
|
required:
|
|
- data
|
|
type: object
|
|
status:
|
|
description: status defines the observed state of the Schema.
|
|
properties:
|
|
appState:
|
|
default: Unknown
|
|
description: appState is the current state of the Schema application.
|
|
enum:
|
|
- Unknown
|
|
- Created
|
|
- Failed
|
|
- Deleted
|
|
type: string
|
|
compatibilityLevel:
|
|
description: compatibilityLevel specifies the compatibility level
|
|
of the schema under the subject.
|
|
type: string
|
|
conditions:
|
|
description: conditions are the latest available observed state of
|
|
the schema.
|
|
items:
|
|
description: Condition represent the latest available observations
|
|
of the current state.
|
|
properties:
|
|
lastProbeTime:
|
|
description: lastProbeTime shows the last time the condition
|
|
was evaluated.
|
|
format: date-time
|
|
type: string
|
|
lastTransitionTime:
|
|
description: lastTransitionTime shows the last time the condition
|
|
was transitioned from one status to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: message shows a human-readable message with details
|
|
about the transition.
|
|
type: string
|
|
reason:
|
|
description: reason shows the reason for the last transition
|
|
of the condition.
|
|
type: string
|
|
status:
|
|
description: status shows the status of the condition, one of
|
|
`True`, `False`, or `Unknown`.
|
|
type: string
|
|
type:
|
|
description: type shows the condition type.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
deletedVersions:
|
|
description: deletedVersions are the successfully hard deleted versions
|
|
for the subject.
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
format:
|
|
description: format is the format of the latest schema for the subject.
|
|
type: string
|
|
id:
|
|
description: id is the id of the latest schema for the subject.
|
|
format: int32
|
|
type: integer
|
|
observedGeneration:
|
|
description: observedGeneration is the most recent generation observed
|
|
for this Confluent component.
|
|
format: int64
|
|
type: integer
|
|
schemaReferences:
|
|
description: schemaReferences are the schema references for the subject.
|
|
items:
|
|
description: SchemaReference is the schema to be used as a reference
|
|
for the new schema.
|
|
properties:
|
|
avro:
|
|
description: avro is the data for the referenced Avro schema.
|
|
properties:
|
|
avro:
|
|
description: name is the fully qualified name of the referenced
|
|
Avro schema.
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- avro
|
|
type: object
|
|
format:
|
|
description: format is the format type of the referenced schema.
|
|
Valid options are `avro`, `json`, and `protobuf`.
|
|
enum:
|
|
- avro
|
|
- json
|
|
- protobuf
|
|
minLength: 1
|
|
type: string
|
|
json:
|
|
description: json is the data for the referenced JSON schema.
|
|
properties:
|
|
url:
|
|
description: url is the referenced JSON schema url.
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- url
|
|
type: object
|
|
protobuf:
|
|
description: protobuf is the data for the referenced Protobuf
|
|
schema.
|
|
properties:
|
|
file:
|
|
description: file is the file name of the referenced Protobuf
|
|
schema.
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- file
|
|
type: object
|
|
subject:
|
|
description: subject is the subject name for the referenced
|
|
schema through the configRef.
|
|
minLength: 1
|
|
type: string
|
|
version:
|
|
description: version is the version type of the referenced schema.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- format
|
|
- subject
|
|
- version
|
|
type: object
|
|
type: array
|
|
schemaRegistryAuthenticationType:
|
|
description: schemaRegistryAuthenticationType is the authentication
|
|
method used.
|
|
type: string
|
|
schemaRegistryEndpoint:
|
|
description: schemaRegistryEndpoint is the Schema Registry REST endpoint.
|
|
type: string
|
|
schemaRegistryTLS:
|
|
description: schemaRegistryTLS shows whether the Schema Registry is
|
|
using TLS.
|
|
type: boolean
|
|
softDeletedVersions:
|
|
description: softDeletedVersions are the successfully soft deleted
|
|
versions for the subject.
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
state:
|
|
description: state is the state of the Schema CR.
|
|
type: string
|
|
subject:
|
|
description: subject is the subject of the schema.
|
|
type: string
|
|
version:
|
|
description: version is the version of the latest schema for the subject.
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|