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
1
OpenShift Cluster Access
You need access to an OpenShift cluster with permissions to create BuildConfigs, Deployments, Services, and Routes.
2
Install Required Tools
ocCLI: Install guide- Kustomize: Install guide
3
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.
4
Prepare Environment Files
You will need
.env files with IBM i credentials and server configuration for the deployment.Deployment Steps
1
Clone the Repository
2
Prepare Configuration Files
Copy required configuration files into the deployment directories:
3
Set Your Namespace
Update the root
kustomization.yaml with your OpenShift namespace:Replace <NAMESPACE_PLACEHOLDER> with your actual namespace, then switch to it:4
Deploy with Kustomize
5
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.
6
Verify Deployment
What Gets Deployed
The Kustomize manifests create the following OpenShift resources:IBM i MCP Server
Optional Components
The full Kustomize overlay can also deploy: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