Automating IBM Cloud Pak for Integration on CodeReady Containers with GitOps
From Manual Installation to a One-Command Bootstrap
Setting up IBM Cloud Pak for Integration (CP4I) on OpenShift can be a lengthy process. Even in a local development environment using Red Hat CodeReady Containers (CRC), administrators typically need to:
- Configure CRC resources
- Start an OpenShift cluster
- Install IBM Catalog Sources
- Deploy CP4I operators
- Install OpenShift GitOps
- Configure ArgoCD
- Deploy platform components in the correct order
While these steps are straightforward individually, repeating them for every new environment quickly becomes tedious and error prone.
To solve this challenge, I created a fully automated bootstrap framework that deploys IBM Cloud Pak for Integration on CRC using GitOps and ArgoCD. The entire platform can be installed using a single script while still adhering to GitOps best practices.
This blog references several YAML files, scripts, and a pull-secret.txt file. Instructions for obtaining these files, along with the complete project, are available in my public GitLab repository https://gitlab.com/meyneki/cp4i-crc-argocd
The Challenge
The initial installation process consisted of a sequence of manual commands:
crc setup
crc config set cpus 16
crc config set memory 49152
crc config set disk-size 400
crc start -p pull-secret.txt
oc apply -f catalog-sources.yaml
oc create -f cp4i-subscription.yaml
oc apply -f gitops-operator-group.yaml
oc apply -f gitops-subscription.yaml
Although functional, this approach required manual intervention and offered little validation or error handling.
Building an Automated Bootstrap Process
To simplify deployment, I created a collection of reusable automation scripts that transform the installation into a predictable workflow.
Script 1 – CRC Cluster Provisioning
The setup-crc.sh script automates:
- CRC validation
- OpenShift preset configuration
- CPU allocation
- Memory allocation
- Disk sizing
- Cluster startup
- Credential retrieval
Example:
./setup-crc.sh pull-secret.txt
The script automatically configures CRC.
It also validates the pull secret before starting the cluster and provides user-friendly status messages throughout the process.
Script 2 – IBM Catalog Source Installation
Once OpenShift is available, the next requirement is installing the IBM Catalog Sources.
The install-catalog-sources.sh script:
- Validates the OpenShift CLI
- Verifies cluster login status
- Deploys IBM Integration catalog sources
- Deploys IBM Common Services catalog sources
- Performs readiness checks
./install-catalog-sources.sh
This eliminates the need to manually apply catalog source manifests every time a new cluster is created.
Script 3 – GitOps and ArgoCD Installation
A major goal of the project was to ensure that everything after cluster creation is managed through GitOps.
The install-gitops.sh script automates:
- Namespace creation
- OperatorGroup deployment
- GitOps Operator subscription
- ArgoCD provisioning
- RBAC configuration
- Route discovery
./install-gitops.sh
The script even waits for the ArgoCD instance to become available before applying additional configuration.
The One-Command Bootstrap
The final piece of the puzzle is the bootstrap-all.sh orchestrator.
This script combines all previous automation into a single workflow:
./bootstrap-all.sh pull-secret.txt
Behind the scenes it performs:
- CRC setup
- OpenShift login
- IBM Catalog installation
- GitOps installation
- ArgoCD bootstrap deployment
./setup-crc.sh
./install-catalog-sources.sh
./install-gitops.sh
oc apply -k bootstrap/root-app
Once completed, ArgoCD takes over and deploys the entire CP4I platform automatically.
GitOps at the Core
The repository follows the ArgoCD App-of-Apps pattern.
Instead of deploying resources manually, ArgoCD manages:
- Namespaces
- IBM Operators
- Platform Navigator
- MQ
- App Connect
- API Connect
- Runtime instances
Every resource is declared in Git and synchronized automatically by ArgoCD. Any configuration change follows the same process:
- Update YAML
- Commit to Git
- Push changes
- ArgoCD synchronizes
This creates a reproducible environment that behaves similarly to production GitOps deployments.
Benefits of the Automation Framework
Faster Environment Provisioning
A new CP4I environment can be created with a single command.
Reduced Human Error
Validation checks are built into every script, preventing common configuration mistakes.
Consistent Deployments
Every environment is deployed using the exact same process.
GitOps Ready
ArgoCD becomes the source of truth immediately after installation.
Easier Demonstrations and Workshops
The automated bootstrap dramatically reduces preparation time for demos, proofs of concept, and training environments.
Conclusion
What started as a list of installation commands evolved into a fully automated CP4I bootstrap framework.
By combining:
- CodeReady Containers
- OpenShift GitOps
- ArgoCD
- IBM Cloud Pak for Integration
with a set of reusable automation scripts, it is now possible to provision a complete integration platform environment with minimal manual effort while maintaining GitOps principles throughout the deployment lifecycle.
The result is a repeatable, self-documenting, and production-inspired deployment process that enables developers and integration architects to focus on building solutions rather than installing infrastructure.
Getting started
Fork my repo https://gitlab.com/meyneki/cp4i-crc-argocd and follow the documented steps.
References
- OpenShift GitOps Documentation
- ArgoCD Documentation
- IBM Cloud Pak for Integration Documentation
- CRC Documentation