Overview
The OpenShift deployment uses:- Source-to-Image (S2I) builds from the GitHub repository
- Kustomize for configuration management
- ImageStreamTag triggers for automatic redeployment on new builds
- OpenShift Routes for TLS-terminated external access
Prerequisites
OpenShift Cluster Access
You need access to an OpenShift cluster with permissions to create BuildConfigs, Deployments, Services, and Routes.
Install Required Tools
ocCLI: Install guide- Kustomize: Install guide
Enable Internal Image Registry
The S2I builds require the OpenShift internal image registry. Follow the Red Hat documentation to enable it if not already active.
Deployment Steps
Set Your Namespace
Update the root
kustomization.yaml with your OpenShift namespace:Replace <NAMESPACE_PLACEHOLDER> with your actual namespace, then switch to it:Deploy with Kustomize
Monitor the Build
Watch the S2I build progress:The build clones the repository, runs the Dockerfile multi-stage build, and pushes the resulting image to the internal registry.
What Gets Deployed
The Kustomize manifests create the following OpenShift resources:IBM i MCP Server
| Resource | Purpose |
|---|---|
| BuildConfig | S2I build from GitHub repository |
| ImageStream | Tracks built images, triggers redeployment |
| Deployment | Runs the MCP server pod |
| Service | Internal cluster networking (port 3010) |
| Route | External TLS-terminated access |
Optional Components
The full Kustomize overlay can also deploy:| Component | Description |
|---|---|
| MCP Context Forge | Gateway with tool federation, auth, admin UI |
| Agent UI | Web interface for interacting with agents |
| Agent OS API | Backend API for agent infrastructure |
| pgvector | PostgreSQL with vector extension for embeddings |
Edit the root
kustomization.yaml to select which components to deploy. You can deploy only the IBM i MCP Server if you don’t need the full agent infrastructure.Triggering Rebuilds
Automatic
New image builds are triggered automatically when the ImageStreamTag is updated. Push a code change and start a build:From Local Source
Build directly from your local working directory:From Remote Repository
Manifest Structure
The deployment manifests are organized underdeployment/openshift/apps/openshift/:
Troubleshooting
Build failures
Build failures
Check the build logs for detailed error information:Common causes:
- Missing Dockerfile in the repository
- Node.js dependency installation failures
- Insufficient build resources (memory/CPU limits)
Pod crashes or restarts
Pod crashes or restarts
Check the pod logs:Verify environment variables are set correctly:
Route not accessible
Route not accessible
Verify the route exists and has an assigned host:Check that the service is targeting the correct port:
PVC not binding
PVC not binding
If persistent volume claims are pending:Ensure your cluster has available storage classes with sufficient capacity.
Cannot connect to IBM i
Cannot connect to IBM i
Verify that your OpenShift cluster has network access to the IBM i system. In restricted environments, you may need:
- Firewall rules allowing egress to IBM i on port 8076
- Network policies permitting the MCP server pod to reach external hosts
- DNS resolution for the IBM i hostname