diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index ce6cb8a46043..34e5890efbe4 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -53,11 +53,11 @@ Topics: - Name: Installing Connectivity Link in a disconnected environment File: rhcl-install-disconnected --- -Name: Installing the MCP gateway +Name: Install the MCP gateway Dir: mcp_gateway_install Distros: rhcl Topics: -- Name: Installing MCP gateway +- Name: Install MCP gateway File: mcp-gateway-install --- Name: Deploying Red Hat Connectivity Link diff --git a/mcp_gateway_install/mcp-gateway-install.adoc b/mcp_gateway_install/mcp-gateway-install.adoc index 35663b9f05a2..56c7449e4ce0 100644 --- a/mcp_gateway_install/mcp-gateway-install.adoc +++ b/mcp_gateway_install/mcp-gateway-install.adoc @@ -1,13 +1,13 @@ :_mod-docs-content-type: ASSEMBLY include::_attributes/attributes.adoc[] [id="mcp-gateway-install"] -= Installing and configuring {mcpg} += Install and configure {mcpg} :context: mcp-gateway-get-install toc::[] [role="_abstract"] -You can get started with the MCP gateway by installing the Operator by using Operator Lifecycle Manager (OLM), and then continuing to set up connections by applying the custom resources that you require. +You can get started with the MCP gateway by using Operator Lifecycle Manager (OLM). After you install the Operator, set up connections by applying the custom resources that you require. :FeatureName: {mcpg} diff --git a/modules/con-mcp-gateway-install-olm-ext-cr.adoc b/modules/con-mcp-gateway-install-olm-ext-cr.adoc index 1e113b2707eb..b46acf26cca1 100644 --- a/modules/con-mcp-gateway-install-olm-ext-cr.adoc +++ b/modules/con-mcp-gateway-install-olm-ext-cr.adoc @@ -4,10 +4,10 @@ :_mod-docs-content-type: CONCEPT [id="con-mcp-gateway-install-olm-ext-cr_{context}"] -= Understanding the MCPGatewayExtension custom resource += Understand the MCPGatewayExtension custom resource [role="_abstract"] -You can deploy multiple MCP gateway instances within a single cluster by using more than one `Gateway` object, and an `MCPGatewayExtension` custom resource (CR) for each defined gateway. Each deployment of the MCP gateway manages its associated MCP servers by using the `MCPGatewayExtension` controller in the following ways: +You can deploy more than one MCP gateway instance within a single cluster by using more than one `Gateway` custom resource (CR). You muse use an `MCPGatewayExtension` CR for each `Gateway` CR. Each deployment of the MCP gateway manages its associated MCP servers by using the `MCPGatewayExtension` controller in the following ways: * Defines which `Gateway` object the MCP gateway instance is responsible for. * Determines where configuration `Secret` objects are created. diff --git a/modules/proc-config-mcp-gateway-gateway.adoc b/modules/proc-config-mcp-gateway-gateway.adoc index e59446025794..e72196941cfa 100644 --- a/modules/proc-config-mcp-gateway-gateway.adoc +++ b/modules/proc-config-mcp-gateway-gateway.adoc @@ -4,14 +4,14 @@ :_mod-docs-content-type: PROCEDURE [id="proc-config-mcp-gateway-gateway_{context}"] -= Creating a Gateway object for your MCP gateway += Create a Gateway object for your MCP gateway [role="_abstract"] -You must create a `Gateway` object and configure listeners to create pods to handle your traffic, assign IP addresses, and give HTTP routes a place to connect. +You must make a `Gateway` object and configure listeners to create pods that handle your traffic, assign IP addresses, and give HTTP routes a place to connect. [TIP] ==== -You can attach your {prodnamefull} `DNSPolicy` CR to your `Gateway` object to automatically map your hostnames to your Gateway object's IP address. Point your `DNSPolicy` CR to your Gateway object by `name` in the `targetRef:` section. The `DNSPolicy` CR must reside in the same namespace as the `Gateway` object. +You can attach your {prodnamefull} `DNSPolicy` CR to your `Gateway` object to automatically map your hostnames to your Gateway object's IP address. Point your `DNSPolicy` CR to your `Gateway` object by `name` in the `targetRef:` section. The `DNSPolicy` CR must reside in the same namespace as the `Gateway` object. ==== .Prerequisites @@ -22,7 +22,7 @@ You can attach your {prodnamefull} `DNSPolicy` CR to your `Gateway` object to au .Procedure -* Create a `Gateway` object by using the following example as a template: +. Create a `Gateway` object by using the following example as a template: + .Example Gateway CR with listeners [source,yaml] @@ -63,8 +63,8 @@ spec: mode: Terminate ---- + -* The custom resource (CR) is a `Gateway` named `mcp-gateway` that exists in the `gateway-namespace` namespace and has three listeners configured. -* On {ocp}, the `spec.listeners.tls.certificateRefs:` value can specify the `Secret` CR containing the default wildcard certificate for the OpenShift Ingress controller. +** The custom resource (CR) is a `Gateway` named `mcp-gateway` that exists in the `gateway-namespace` namespace and has three listeners configured. +** On {ocp}, the `spec.listeners.tls.certificateRefs:` value can specify the `Secret` CR containing the default wildcard certificate for the OpenShift Ingress controller. + [IMPORTANT] ==== diff --git a/modules/proc-config-mcp-gateway-listener.adoc b/modules/proc-config-mcp-gateway-listener.adoc index cea6b9b1f515..1be80a8f6485 100644 --- a/modules/proc-config-mcp-gateway-listener.adoc +++ b/modules/proc-config-mcp-gateway-listener.adoc @@ -4,7 +4,7 @@ :_mod-docs-content-type: PROCEDURE [id="proc-config-mcp-gateway-listener_{context}"] -= Configuring MCP gateway listeners += Configure MCP gateway listeners [role="_abstract"] Connect your MCP gateway to your agentic AI systems by appending your `Gateway` custom resource (CR) with your MCP listener information. The MCP listener handles the transport protocol, opens an MCP session on the port, and establishes a security perimeter. You can also add listeners for unencrypted web traffic and secured traffic. @@ -137,15 +137,15 @@ $ oc get gateway __ -n __ -o jsonpath='{.status. .Verification -. Check the status your listeners and related objects by running the following command: +* Check the status your listeners and related objects by running the following command: + [source,terminal,subs="+quotes"] ---- $ oc describe gateway __ -n __ ---- + -* Replace `__` with the name of your MCP gateway deployment. -* Replace `__` with the namespace where your `Gateway` object is applied. +** Replace `__` with the name of your MCP gateway deployment. +** Replace `__` with the namespace where your `Gateway` object is applied. + .Example output [source,yaml] @@ -178,4 +178,4 @@ Events: # ... ---- + -* The `Events` section of the output can also show port conflicts, problems with your `gatewayClassName:` value, missing routes, and a lack of permissions to read secrets. +The `Events` section of the output can also show port conflicts, problems with your `gatewayClassName:` value, missing routes, and a lack of permissions to read secrets. diff --git a/modules/proc-mcp-gateway-install-olm-ext-cr.adoc b/modules/proc-mcp-gateway-install-olm-ext-cr.adoc index 9aae1030af78..c573b464ad00 100644 --- a/modules/proc-mcp-gateway-install-olm-ext-cr.adoc +++ b/modules/proc-mcp-gateway-install-olm-ext-cr.adoc @@ -4,7 +4,7 @@ :_mod-docs-content-type: PROCEDURE [id="proc-mcp-gateway-install-olm-ext-cr_{context}"] -= Applying the MCPGatewayExtension custom resource += Apply the MCPGatewayExtension custom resource [role="_abstract"] To finish your installation of the MCP gateway deployment Operator by using Operator Lifecycle Manager (OLM), create a `MCPGatewayExtension` custom resources (CR) manually and apply it to complete your initial setup. After the extension is ready, both an `HTTPRoute` object and an Envoy filter are automatically created. @@ -51,14 +51,8 @@ spec: * The value of the `sectionName:` parameter must match the listener `name:` value defined on your `Gateway` object in the `__` namespace. In this example, `mcp` is used. * The default setting of `spec.httpRouteManagement: Enabled` means automatically maintained `HTTPRoute` objects to ensure that traffic for discovered MCP tools is correctly routed through the `Gateway` object. * If you require a customized `HTTPRoute` CR, set the `spec.httpRouteManagement:` field value to `Disabled`. -+ -[IMPORTANT] -==== -In the MCP gateway Technology Preview version, `0.6.0`, you must set the `spec.httpRouteManagement:` field value to `Disabled` and create a customized managed `HTTPRoute` CR if you are using OAuth. This is a workaround for a Known Issue. See the {prodname} 1.3.3 release notes for details. -==== -//re: https://github.com/Kuadrant/mcp-gateway/issues/776 -. Apply the CR by running the following command: +. Apply the `MCPGatewayExtension` CR by running the following command: + [source,terminal,subs="+quotes"] ---- @@ -89,6 +83,8 @@ mcpgatewayextension.mcp.kuadrant.io/mcp-gateway-one condition met error: timed out waiting for the condition on mcpgatewayextensions/mcp-gateway-one ---- +.Verification + . Verify that the automatic `HTTProute` object is created by running the following command: + [source,terminal,subs="+quotes"] diff --git a/modules/proc-mcp-gateway-install-olm.adoc b/modules/proc-mcp-gateway-install-olm.adoc index 6107f8654ae6..c828f891358b 100644 --- a/modules/proc-mcp-gateway-install-olm.adoc +++ b/modules/proc-mcp-gateway-install-olm.adoc @@ -4,7 +4,7 @@ :_mod-docs-content-type: PROCEDURE [id="proc-mcp-gateway-install-olm_{context}"] -= Installing the MCP gateway with OLM += Install the MCP gateway with OLM [role="_abstract"] You can install the MCP gateway deployment Operator by using Operator Lifecycle Manager (OLM) with the CLI. When choosing this path, you must create a `MCPGatewayExtension` custom resources (CR) manually and apply it to complete your initial setup. @@ -25,11 +25,10 @@ $ oc create ns __ + Replace the default `__` with the namespace you want to use. -. Create and apply the {mcpg} `Subscription` and `OperatorGroup` custom resources (CRs) by running the following command: +. Create and the {mcpg} `Subscription` and `OperatorGroup` custom resources (CRs) by using the following example: + -[source,terminal,subs="+quotes"] +[source,yaml,subs="+quotes"] ---- -$ oc apply -n __ -f - <_ -EOF ---- + Replace `__` with the namespace you used in the earlier step. +. Apply the resources by running the following command: ++ +[source,terminal,subs="+quotes"] +---- +$ oc apply -n __ -f __ +---- ++ +* Replace `__` with the namespace you used in the earlier step. +* Replace `__` with the name you used for your configuration file. + . Confirm that the {mcpg} installation has finished by running the following commands: + [source,terminal,subs="+quotes"] @@ -72,7 +80,7 @@ $ oc wait --for=condition=Installed installplan -n __ ${ip} --timeou .Verification -. Wait for the controller to be ready by running the following command: +* Wait for the controller to be ready by running the following command: + [source,terminal,subs="+quotes"] ----