Cloud Pak for Integration

Cloud Pak for Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

Automating IBM Cloud Pak for Integration on CodeReady Containers with GitOps

By Kim Meynendonckx posted 07/10/26 04:46 AM

  

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:

  1. CRC setup
  2. OpenShift login
  3. IBM Catalog installation
  4. GitOps installation
  5. 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:

  1. Update YAML
  2. Commit to Git
  3. Push changes
  4. 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

0 comments
20 views

Permalink