// Module included in the following assemblies:
//
// * service_mesh/v2x/ossm-create-smcp.adoc

:_mod-docs-content-type: PROCEDURE
[id="ossm-deploy-cluster-wide-control-plane-console_{context}"]
= Configuring the control plane for cluster-wide deployment with the web console

You can configure the `ServiceMeshControlPlane` resource for cluster-wide deployment using the {product-title} web console. In this example, `istio-system` is the name of the {SMProductShortName} control plane project.

.Prerequisites

* The {SMProductName} Operator is installed.
ifndef::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
* You are logged in to {product-title} as`cluster-admin`.
endif::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
ifdef::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
* You are logged in to {product-title} as a user with the `dedicated-admin` role.
endif::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]

.Procedure

. Create a project named `istio-system`.
+
.. Navigate to *Home* -> *Projects*.
+
.. Click *Create Project*.
+
.. In the *Name* field, enter `istio-system`. The `ServiceMeshControlPlane` resource must be installed in a project that is separate from your microservices and Operators.
+
These steps use `istio-system` as an example. You can deploy the {SMProductShortName} control plane to any project as long as it is separate from the project that contains your services.
+
.. Click *Create*.

. Navigate to *Ecosystem* -> *Installed Operators*.

. Click the {SMProductName} Operator, then click *Istio Service Mesh Control Plane*.

. On the *Istio Service Mesh Control Plane* tab, click *Create ServiceMeshControlPlane*.

. Click *YAML view*. The version of the {SMProductShortName} control plane determines the features available regardless of the version of the Operator.

ifndef::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
. Modify the `spec.mode` field of the YAML file to specify `ClusterWide`.
+
.Example version {MaistraVersion} istio-installation.yaml
+
[source,yaml, subs="attributes,verbatim"]
----
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
  namespace: istio-system
spec:
  version: v{MaistraVersion}
  mode: ClusterWide
----
endif::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
ifdef::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
. Modify the `spec.mode` field and add the `spec.security.identity.type.ThirdParty` field:
+
.Example `ServiceMeshControlPlane` resource
[source,yaml, subs="attributes,verbatim"]
----
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
  namespace: istio-system
spec:
  version: v{MaistraVersion}
  mode: ClusterWide <1>
  security:
    identity:
      type: ThirdParty <2>
  tracing:
    type: Jaeger
    sampling: 10000
  policy:
    type: Istiod
  addons:
    grafana:
      enabled: true
    jaeger:
      install:
        storage:
          type: Memory
    kiali:
      enabled: true
    prometheus:
      enabled: true
  telemetry:
    type: Istiod
----
<1> Specifies that the resource is for a cluster-wide deployment.
ifdef::openshift-rosa,openshift-rosa-hcp[]
<2> Specifies a required setting for {product-rosa}. 
endif::openshift-rosa,openshift-rosa-hcp[]
ifdef::openshift-dedicated[]
<2> Specifies a required setting for {product-dedicated}. 
endif::openshift-dedicated[]
endif::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]

. Click *Create*. The Operator creates pods, services, and {SMProductShortName} control plane components based on your configuration parameters. The operator also creates the `ServiceMeshMemberRoll` if it does not exist as part of the default configuration.

.Verification

* To verify that the control plane installed correctly:

.. Click the *Istio Service Mesh Control Plane* tab.

.. Click the name of the new `ServiceMeshControlPlane` object.

.. Click the *Resources* tab to see the {SMProductName} control plane resources that the Operator created and configured.
