Test the echo tool on OpenShift
This guide is for testing the echo tool and exploring the deployment details, including container configuration, route file mounting, and MCP service access. For production deployments, use the Wanaku operator as described in Deploying the Service.
The echo tool manifest runs quay.io/wanaku/camel-integration-capability:latest with the equivalent of:
java -Decho.separator=- -jar /app/app.jar \
--routes-ref file:///routes/wanaku-echo-tool.camel.yaml \
--data-dir /data --mcp-port 9090The image's Dockerfile uses /app/app.jar and reads ROUTES_PATH. JAVA_TOOL_OPTIONS supplies the Java system property. The ConfigMap contains the echo route from wanaku-barn; it is mounted as a file inside the pod because the original macOS file path is not available on OpenShift nodes. The route echoes hello as hello-hello.
Deploy for testing
Log in with oc login and select your project with oc project <project>. From this repository's root, run:
oc apply -f examples/openshift/echo-tool.yaml
oc rollout status deployment/echo-tool --timeout=180s
oc logs deployment/echo-toolThe manifest creates a ConfigMap, one Deployment replica, and a Service on port 9090. OpenShift assigns the container UID; no privileged security policy is required. An emptyDir provides writable /data storage, which is discarded when the pod is replaced. No Wanaku router is needed for this local file route.
Access
For local access to the MCP server:
oc port-forward service/echo-tool 9090:9090Connect your MCP client to the server at http://localhost:9090, using the transport endpoint supported by the image's Camel MCP server.
To expose the service through an OpenShift HTTPS Route instead:
oc create route edge echo-tool --service=echo-tool --port=mcp \
--insecure-policy=Redirect
oc get route echo-toolThe Route exposes the echo tool to clients that can reach the cluster ingress; this example does not configure application authentication.
Update or remove
After editing the embedded route in the manifest, apply it and restart the pod so Camel loads the updated route:
oc apply -f examples/openshift/echo-tool.yaml
oc rollout restart deployment/echo-tool
oc rollout status deployment/echo-tool --timeout=180sThe example uses the requested latest image with imagePullPolicy: Always. For repeatable deployments, replace it with a release tag or image digest.
To remove the example:
oc delete route echo-tool --ignore-not-found
oc delete -f examples/openshift/echo-tool.yaml