The EDA GitOps Catalog includes kustomize bases and overlays for a number of IBM Cloud Pak for Integration OpenShift operators needed to develop event-driven solutions.
This repository is using the same structure as introduced by Red Hat COP team in this repository.
Updated 1/13/2022: Event Streams 2.5.1 - Deploy under
cp4iproject to better isolate operators
This catalog includes definition for operators, and some examples of operand. But the real approach is to use this catalog from other project or solution based gitops repository, as illustrated with the following GitOps repository:
Each catalog item has its own README.md for future instructions. Be sure to use the most recent oc CLI.
See the oc cli download page here.
git clone https://github.com/ibm-cloud-architecture/eda-gitops-catalog.gitBe sure to be connected to an OpenShift Cluster.
Create the cp4i project: oc new-project cp4i
Then apply one of the defined operators and if you want to test you can try some sample operands too.
If you are using GitOps as a way to deploy products and services you need to deploy the GitOps and Pipelines Operators.
oc apply -k openshift-gitops/operator/overlays
oc apply -k openshift-pipelines/operator/overlaysTo install IBM products you need to deploy the catalog definition to OpenShift.
# List existing catalog
oc get catalogsource -n openshift-marketplace
# If the IBM catalogs are not displayed add the following:
oc apply -k ibm-catalog -n openshift-marketplace
# With this catalog we should be able to search for IBM products
oc get packagemanifests -n openshift-marketplace| grep ibm | sort
# Inspect MQ operator
oc describe packagemanifests ibm-mq -n openshift-marketplace-
Obtain your IBM license entitlement key
-
Create the OCP global pull secret of the
openshift-gitopsproject with the entitlement keyKEY=<yourentitlementkey> oc create secret docker-registry ibm-entitlement-key \ --docker-username=cp \ --docker-password=$KEY \ --docker-server=cp.icr.io \ --namespace=openshift-gitops
- Install Platform Navigator operator to get access to the integrated user interface:
oc apply -k cp4i-operators/platform-navigator/operator/overlays- Sample Operands: to create on instance of the platform navigator
oc apply -k cp4i-operators/platform-navigator/operands/License Service is not deployed by default. The Platform Navigator sample file cp4i-sample.yaml includes the fields to include it as part of the deployment. If you do not want to deploy it simply remove the following lines:
requestIbmServices:
licensing: trueIf as part of License Service you want to visualize the reports via the Web UI you will need to deploy an instance of the License Reporter, the sample file license-reporter.yaml shows how to do it. Additionally you need to update the common-service instance of the OperandConfig operand in the Operand Deployment Lifecycle Manager operator. You have to include the following line in the spec section of the ibm-licensing-operator. For more details check the Knowledge Center.
IBMLicenseServiceReporter: {}If you want to enable monitoring you can deploy the ConfigMap included in file monitoring-cm.yaml otherwise you can skip it.
-
If you want to use those definitions inside of a GitOps repository see the following examples:
-
Deploy Event Streams operator
oc apply -k cp4i-operators/event-streams/operator/overlays
-
Install one Event Streams operands: Instances of Event Streams can be created after the Event Streams operator is up and running. To verify it is running:
oc get pods -n openshift-operators
You can use the OpenShift console or our predefined cluster definition:
oc apply -k cp4i-operators/event-streams/operands/dev/If you want to do the same thing for a production cluster
oc apply -k cp4i-operators/event-streams/operands/prod-small/- Install MQ Operator
oc apply -k cp4i-operators/mq/operator/overlays-
Deploy API Connect Operators
oc project openshift-operators oc apply -k cp4i-operators/apic-connect/operator/overlays
This will get
IBM DataPower GatewayandIBM API Connectoperators deployed in All namespace. -
Deploy Cloud Native Postgresql operator.
oc apply -k postgresql/operator/overlays/stable
-
From IBM API Connect operator add an Event Endpoint Manager instance
oc project <one of your project> oc apply -k c4pi-operators/event-endpoint/operands
You can reference bases for the various tools here in your own kustomize overlay without explicitly cloning this repo, for example:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: product-catalog-cicd
resources:
- github.com/ibm-cloud-architecture/eda-gitops-catalog/kafka-strimzi/operator/base/?ref=mainThis enables you to patch these resources for your specific environments. Note that none of these bases specify a namespace, in your kustomization overlay you can include the specific namespace you want to install the tool into.