# Redpanda Topic CRD Reference

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [streaming-full.txt](https://docs.redpanda.com/streaming-full.txt)

---
title: Redpanda Topic CRD Reference
latest-operator-version: v26.1.4
# EOL = End-of-Life (support lifecycle status)
page-is-nearing-eol: "false"
page-is-past-eol: "true"
page-eol-date: April 30, 2025
latest-console-tag: v3.7.3
latest-connect-version: 4.93.0
docname: k-topic-crd
page-component-name: streaming
page-version: "24.1"
page-component-version: "24.1"
page-component-title: Streaming
page-relative-src-path: k-topic-crd.adoc
page-edit-url: https://github.com/redpanda-data/docs/edit/v/24.1/modules/reference/pages/k-topic-crd.adoc
description: Custom resource definitions for the Topic resource. Use the Topic resource to create and manage topics with the Redpanda Operator.
page-git-created-date: "2024-01-04"
page-git-modified-date: "2024-01-04"
support-status: past end-of-life
---

<!-- Source: https://docs.redpanda.com/streaming/24.1/reference/k-topic-crd.md -->

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

Packages

-   [cluster.redpanda.com/v1alpha1](#k8s-api-cluster-redpanda-com-v1alpha1)


## [](#k8s-api-cluster-redpanda-com-v1alpha1)cluster.redpanda.com/v1alpha1

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

Resource Types

-   [Topic](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topic)

-   [TopicList](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topiclist)


### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-configsynonyms)ConfigSynonyms

ConfigSynonyms was copied from [https://github.com/twmb/franz-go/blob/01651affd204d4a3577a341e748c5d09b52587f8/pkg/kmsg/generated.go#L24569-L24578](https://github.com/twmb/franz-go/blob/01651affd204d4a3577a341e748c5d09b52587f8/pkg/kmsg/generated.go#L24569-L24578)

Appears in:

-   [Configuration](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-configuration)


| 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. |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-configuration)Configuration

Configuration was copied from [https://github.com/twmb/franz-go/blob/01651affd204d4a3577a341e748c5d09b52587f8/pkg/kmsg/generated.go#L24593-L24634](https://github.com/twmb/franz-go/blob/01651affd204d4a3577a341e748c5d09b52587f8/pkg/kmsg/generated.go#L24593-L24634)

Appears in:

-   [TopicStatus](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topicstatus)


| 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. |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkaapispec)KafkaAPISpec

KafkaAPISpec configures client configuration settings for connecting to Redpanda brokers.

Appears in:

-   [TopicSpec](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topicspec)


| 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. |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasasl)KafkaSASL

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

Appears in:

-   [KafkaAPISpec](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkaapispec)


| Field | Description |
| --- | --- |
| username string | Specifies the username. |
| passwordSecretRef SecretKeyRef | Specifies the password. |
| mechanism SASLMechanism | Specifies the SASL/SCRAM authentication mechanism. |
| oauth KafkaSASLOAuthBearer |  |
| gssapi KafkaSASLGSSAPI |  |
| awsMskIam KafkaSASLAWSMskIam |  |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasaslawsmskiam)KafkaSASLAWSMskIam

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

Appears in:

-   [KafkaSASL](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasasl)


| 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 |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasaslgssapi)KafkaSASLGSSAPI

KafkaSASLGSSAPI represents the Kafka Kerberos config.

Appears in:

-   [KafkaSASL](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasasl)


| 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. |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasasloauthbearer)KafkaSASLOAuthBearer

KafkaSASLOAuthBearer is the config struct for the SASL OAuthBearer mechanism

Appears in:

-   [KafkaSASL](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasasl)


| Field | Description |
| --- | --- |
| tokenSecretRef SecretKeyRef |  |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkatls)KafkaTLS

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

Appears in:

-   [KafkaAPISpec](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkaapispec)


| 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 |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-saslmechanism)SASLMechanism (string)

Appears in:

-   [KafkaSASL](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasasl)


### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-secretkeyref)SecretKeyRef

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

Appears in:

-   [KafkaSASL](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasasl)

-   [KafkaSASLAWSMskIam](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasaslawsmskiam)

-   [KafkaSASLGSSAPI](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasaslgssapi)

-   [KafkaSASLOAuthBearer](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkasasloauthbearer)

-   [KafkaTLS](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-kafkatls)


| Field | Description |
| --- | --- |
| name string | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| key string | Key in Secret data to get value from |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topic)Topic

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

Appears in:

-   [TopicList](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topiclist)


| 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. |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topiclist)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. |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topicspec)TopicSpec

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

For descriptions and default values of topic properties, see [Topic Configuration Properties](https://docs.redpanda.com/streaming/24.1/reference/properties/topic-properties/).

Appears in:

-   [Topic](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topic)


| 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. |

### [](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topicstatus)TopicStatus

TopicStatus defines the observed state of the Topic resource.

Appears in:

-   [Topic](#k8s-api-github-com-redpanda-data-redpanda-operator-src-go-k8s-api-cluster-redpanda-com-v1alpha1-topic)


| 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. |