// Module included in the following assemblies:
//
// getting-started.adoc
// assembly-deploying-the-topic-operator.adoc

[id='deploying-the-topic-operator-using-the-cluster-operator-{context}']
= Deploying the Topic Operator using the Cluster Operator

This procedure describes how to deploy the Topic Operator using the Cluster Operator. 
If you want to use the Topic Operator with a Kafka cluster that is not managed by {ProductName}, you must deploy the Topic Operator as a standalone component. For more information, see xref:deploying-the-topic-operator-standalone-deploying[].

.Prerequisites

* A running Cluster Operator
* A `Kafka` resource to be created or updated

.Procedure

. Ensure that the `Kafka.spec.entityOperator` object exists in the `Kafka` resource. This configures the Entity Operator.
+
[source,yaml,subs=+quotes]
----
apiVersion: kafka.strimzi.io/v1alpha1
kind: Kafka
metadata:
  name: my-cluster
spec:
  #...
  entityOperator:
    *topicOperator: {}*
    userOperator: {}
----
. Configure the Topic Operator using the fields described in xref:type-EntityTopicOperatorSpec-reference[].
. Create or update the Kafka resource in {ProductPlatformName}.
+
ifdef::Kubernetes[]
On {KubernetesName}, use `kubectl apply`:
[source,shell,subs=+quotes]
kubectl apply -f _your-file_
+
endif::Kubernetes[]
On {OpenShiftName}, use `oc apply`:
+
[source,shell,subs=+quotes]
oc apply -f _your-file_

.Additional resources

* For more information about deploying the Cluster Operator, see xref:cluster-operator-str[].
* For more information about deploying the Entity Operator, see xref:assembly-kafka-entity-operator-deployment-configuration-kafka[].
* For more information about the `Kafka.spec.entityOperator` object used to configure the Topic Operator when deployed by the Cluster Operator, see xref:type-EntityOperatorSpec-reference[].
