Redpanda Topic CRD Reference

Custom resource definitions for the Topic resource. Use the Topic resource to create and manage topics with the Redpanda Operator.

cluster.redpanda.com/v1alpha1

Package v1alpha1 contains API Schema definitions for the cluster.redpanda.com v1alpha1 API group

Resource Types

ConfigSynonyms

Appears in:
Field Description

name string

value string

source string

unknownTags object (keys:string, values:string)

UnknownTags are tags Kafka sent that we do not know the purpose of.

Configuration

Appears in:
Field Description

name string

Name is a key this entry corresponds to (e.g. segment.bytes).

value string

Value is the value for this config key. If the key is sensitive, the value will be null.

readOnly boolean

ReadOnly signifies whether this is not a dynamic config option. Note that this field is not always correct, and you may need to check whether the Source is any dynamic enum. See franz-go#91 for more details.

isDefault boolean

IsDefault is whether this is a default config option. This has been replaced in favor of Source.

source string

Source is where this config entry is from. This field has a default of -1.

isSensitive boolean

IsSensitive signifies whether this is a sensitive config key, which is either a password or an unknown type.

configSynonyms ConfigSynonyms array

ConfigSynonyms contains fallback key/value pairs for this config entry, in order of preference. That is, if a config entry is both dynamically configured and has a default, the top level return will be the dynamic configuration, while its "synonym" will be the default.

configType string

ConfigType specifies the configuration data type.

documentation string

Documentation is optional documentation for the config entry.

unknownTags object (keys:string, values:string)

UnknownTags are tags Kafka sent that we do not know the purpose of.

KafkaAPISpec

KafkaAPISpec configures client configuration settings for connecting to Redpanda brokers.

Appears in:
Field Description

brokers string array

Specifies a list of broker addresses in the format <host>:<port>

tls KafkaTLS

Defines TLS configuration settings for Redpanda clusters that have TLS enabled.

sasl KafkaSASL

Defines authentication configuration settings for Redpanda clusters that have authentication enabled.

KafkaSASL

KafkaSASL configures credentials to connect to Redpanda cluster that has authentication enabled.

Appears in:
Field Description

username string

Specifies the username.

passwordSecretRef SecretKeyRef

Specifies the password.

mechanism SASLMechanism

Specifies the SASL/SCRAM authentication mechanism.

awsMskIam KafkaSASLAWSMskIam

KafkaSASLAWSMskIam

KafkaSASLAWSMskIam is the config for AWS IAM SASL mechanism, see: https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html

Appears in:
Field Description

accessKey string

secretKeySecretRef SecretKeyRef

sessionTokenSecretRef SecretKeyRef

SessionToken, if non-empty, is a session / security token to use for authentication. See: https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html

userAgent string

UserAgent is the user agent to for the client to use when connecting to Kafka, overriding the default "franz-go/<runtime.Version()>/<hostname>". Setting a UserAgent allows authorizing based on the aws:UserAgent condition key; see the following link for more details: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-useragent

KafkaSASLGSSAPI

KafkaSASLGSSAPI represents the Kafka Kerberos config.

Appears in:
Field Description

authType string

keyTabPath string

kerberosConfigPath string

serviceName string

username string

passwordSecretRef SecretKeyRef

realm string

enableFast boolean

EnableFAST enables FAST, which is a pre-authentication framework for Kerberos. It includes a mechanism for tunneling pre-authentication exchanges using armored KDC messages. FAST provides increased resistance to passive password guessing attacks.

KafkaSASLOAuthBearer

KafkaSASLOAuthBearer is the config struct for the SASL OAuthBearer mechanism

Appears in:
Field Description

tokenSecretRef SecretKeyRef

KafkaTLS

KafkaTLS specifies TLS configuration settings for Redpanda clusters that have authentication enabled.

Appears in:
Field Description

caCertSecretRef SecretKeyRef

CaCert is the reference for certificate authority used to establish TLS connection to Redpanda

certSecretRef SecretKeyRef

Cert is the reference for client public certificate to establish mTLS connection to Redpanda

keySecretRef SecretKeyRef

Key is the reference for client private certificate to establish mTLS connection to Redpanda

insecureSkipTlsVerify boolean

InsecureSkipTLSVerify can skip verifying Redpanda self-signed certificate when establish TLS connection to Redpanda

SASLMechanism (string)

Appears in:

SecretKeyRef

SecretKeyRef contains enough information to inspect or modify the referred Secret data See https://pkg.go.dev/k8s.io/api/core/v1#ObjectReference.

Field Description

name string

key string

Key in Secret data to get value from

Topic

Topic defines the CRD for Topic resources. See https://docs.redpanda.com/current/manage/kubernetes/manage-topics/.

Appears in:
Field Description

apiVersion string

cluster.redpanda.com/v1alpha1

kind string

Topic

kind string

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

apiVersion string

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

metadata ObjectMeta

Refer to the Kubernetes API documentation for fields of metadata.

spec TopicSpec

Defines the desired state of the Topic resource.

status TopicStatus

Represents the current status of the Topic resource.

TopicList

TopicList contains a list of Topic objects.

Field Description

apiVersion string

cluster.redpanda.com/v1alpha1

kind string

TopicList

kind string

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

apiVersion string

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

metadata ListMeta

Refer to the Kubernetes API documentation for fields of metadata.

items Topic array

Specifies a list of Topic resources.

TopicSpec

TopicSpec defines the desired state of the topic. See https://docs.redpanda.com/current/manage/kubernetes/manage-topics/.

For descriptions and default values of topic properties, see Topic Configuration Properties.

Appears in:
Field Description

partitions integer

Specifies the number of topic shards that are distributed across the brokers in a cluster. This number cannot be decreased after topic creation. It can be increased after topic creation, but it is important to understand the consequences that has, especially for topics with semantic partitioning. When absent this will default to the Redpanda cluster configuration default_topic_partitions. See https://docs.redpanda.com/docs/reference/cluster-properties/#default_topic_partitions and https://docs.redpanda.com/docs/get-started/architecture/#partitions

replicationFactor integer

Specifies the number of replicas the topic should have. Must be odd value. When absent this will default to the Redpanda cluster configuration default_topic_replications. See https://docs.redpanda.com/docs/reference/cluster-properties/#default_topic_replications.

overwriteTopicName string

Changes the topic name from the value of metadata.name.

additionalConfig object (keys:string, values:string)

Adds extra topic configurations. This is a free-form map of any configuration options that topics can have. Examples: cleanup.policy=compact redpanda.remote.write=true redpanda.remote.read=true redpanda.remote.recovery=true redpanda.remote.delete=true

kafkaApiSpec KafkaAPISpec

Defines client configuration for connecting to Redpanda brokers.

metricsNamespace string

Overwrites the fully-qualified name of the metric. This should be easier to identify if multiple operator instances runs inside the same Kubernetes cluster. By default, it is set to redpanda-operator.

interval Duration

Defines when the topic controller will schedule the next reconciliation. Default is 3 seconds.

TopicStatus

TopicStatus defines the observed state of the Topic resource.

Appears in:
Field Description

observedGeneration integer

ObservedGeneration is the last observed generation of the Topic.

conditions Condition array

Conditions holds the conditions for the Topic.

topicConfiguration Configuration array

TopicConfiguration is the last snapshot of the topic configuration during successful reconciliation.