Opaque topic-level config, such as retention.ms and cleanup.policy. The operator reconciles it with an IncrementalAlterConfigs SET and DELETE diff against the cluster's current dynamic-topic overrides.
partitions
integer
yes
Number of partitions. The operator applies increases through CreatePartitions. The operator rejects decreases with ImmutableFieldChanged.
preserveTopic
boolean
no
false
When true, a CRD delete still removes the finalizer but skips the DeleteTopics call, so the Kafka topic survives. Default: false.
replicas
integer
yes
Replication factor. The operator rejects changes with ImmutableFieldChanged until partition reassignment lands.
topicName
string
no
Optional override for the Kafka topic name. Defaults to metadata.name. The operator validates it at reconcile time against Kafka's rules: length ≤ 249, characters [A-Za-z0-9._-], and not . or ...
Status
Field
Type
Required
Default
Description
conditions
array
no
[]
Standard Kubernetes-style condition list. It shows Ready.
observedGeneration
integer
no
metadata.generation of the last successfully-reconciled spec. That is the last time the operator wrote Ready=True reason=Ready.
topicId
string
no
Cluster-assigned topic UUID. The operator fills it in once the topic exists.
topicName
string
no
Effective topic name. The operator supplies a default if spec.topicName is unset.