Page
Install the hub-only stack with multi-cloud GitOps
Before you configure API authentication, you need the full platform stack running on one hub cluster. This solution uses the multi-cloud GitOps validated pattern to assemble Connectivity Link Gateways, Developer Hub, Keycloak, and the NeuroFace demo workloads from the AI Computer Vision repository through a single Pattern Custom Resource (CR). This lesson uses a single OpenShift hub cluster. Use that lab when inference runs on CPU rather than GPU, and the cluster has no pre-installed operators besides OpenShift and the Validated Patterns Operator.
Prerequisites:
- An OpenShift 4.20 or later cluster sized as a hub-only CPU.
- Access to the OpenShift web console with the
cluster-adminrole. - A workstation with the
ocbinary installed.
In this lesson, you will:
- Install the Validated Patterns Operator from OperatorHub.
- Apply the hub-only Pattern CR with the
values-hub-only.yamloverlay. - Verify that Argo CD applications sync and key workloads become healthy.
- Understand which components the pattern installs and what hub-only mode disables.
Confirm cluster requirements
- Provision or use an existing OpenShift cluster with no east or west spoke clusters. The Pattern CR guide recommends this AWS sizing as a valid starting point:
- Control plane (AWS): 3× m6a.2xlarge
- Workers (AWS): 4–5× m6a.4xlarge
Log in as a cluster administrator:
oc login --token=<token> --server=https://api.<cluster-domain>:6443
Install the Validated Patterns Operator
The following steps guide you through installing the Validated Patterns Operator:
- Log in to the OpenShift web console with a user that has the
cluster-adminrole. - Expand the Ecosystem navigation menu, and click Software Catalog.
- In the filter field, search for Validated Patterns Operator.
- Click the Install button.
- On the operator installation page, accept the defaults and click the Install button. Install the operator into the
patterns-operatornamespace with the default channel. Open a terminal on your workstation, and verify the operator pod is running:
oc get pods -n patterns-operator | grep validated-patterns
Apply the hub-only Pattern CR
The multi-cloud GitOps installs from a single Pattern CR.
For hub-only CPU, use
examples/pattern-cr/hub-only-cpu.yamlfrom the AI Computer Vision repository:apiVersion: gitops.hybrid-cloud-patterns.io/v1alpha1 kind: Pattern metadata: name: ia-computer-vision namespace: patterns-operator spec: clusterGroupName: hub extraValueFiles: - /values-hub-only.yaml gitSpec: targetRepo: https://github.com/maximilianoPizarro/ia-computer-vision.git targetRevision: main multiSourceConfig: enabled: true clusterGroupChartVersion: "0.9.*" helmRepoUrl: https://charts.validatedpatterns.ioApply the CR:
oc apply -f https://raw.githubusercontent.com/maximilianoPizarro/ia-computer-vision/main/examples/pattern-cr/hub-only-cpu.yamlThis command applies the Pattern custom resource hub-only-cpu.yaml. That file already lists values-hub-only.yaml under extraValueFiles, so you do not apply the overlay as a second command. The overlay is required on a single cluster with no spokes. Without it, Argo CD applications for Skupper and the Red Hat Advanced Cluster Management (RHACM) spoke import can show as Missing or Degraded, because the east and west clusters do not exist.
Wait for GitOps sync and verify health
The Validated Patterns Operator renders the multi-cloud GitOps Helm values and delegates them to OpenShift GitOps (Argo CD).
You can monitor application health by running the following command:
oc get applications -n openshift-gitopsWait until the core applications report as Synced and Healthy. This can take 30–60 minutes, depending on cluster resources and image pulls.
Verify that the key namespaces exist:
oc get ns | grep -E 'developer-hub|neuroface|workshop-kuadrant|keycloak|rhbk'Confirm Developer Hub and the Gateways are reachable. Replace
<apps-domain>where appropriate with your cluster apps domain name:oc get route -n developer-hub oc get gateway -A
What Multicloud GitOps installs
The hub-only Pattern CR, driven by multi-cloud GitOps, deploys these component groups:
Group | Components | Role |
|---|---|---|
GitOps / pattern control | OpenShift GitOps (Argo CD), multi-cloud GitOps cluster-group charts | Continuous reconciliation from Git |
Edge / auth | Red Hat Connectivity Link (Kuadrant AuthPolicy, RateLimitPolicy, PlanPolicy, APIProduct), Authorino, neuroface-gateway, workshop-apis-gateway | Gateway API routing, authentication, rate limits |
Developer experience | Red Hat Developer Hub | Self-service software templates and OpenAPI catalog |
Identity | Red Hat build of Keycloak (realm cv, provisioner client) | OIDC token issuance and client lifecycle |
Demo workloads (hubLocal) | NeuroFace hub UI, Computer Vision YOLO inference (neuroface-cv), Kafka (AMQ Streams) | PPE detection demo and violation alerts |
Supporting platform | OpenShift Service Mesh / Istio data plane for gateways, External Secrets Operator, Vault integration for Keycloak secrets | Mesh routing, secret sync |
What hub-only disables: Skupper, hub-interconnect, RHACM spoke import, and skupper-network-observer. NeuroFace and Computer Vision inference runs locally on the hub instead of on either East or West spokes.
Confirm you are ready for authentication lessons
Before moving to the next lesson, confirm:
- That Developer Hub loads at
https://developer-hub.<apps-domain>. - The
workshop-apisandneuroface-gatewayshow aProgrammedstatus. - The Keycloak realm
cvis imported and reachable athttps://keycloak.<apps-domain>.
You now have Connectivity Link, Developer Hub, and the demo APIs running from Multicloud GitOps and a single Pattern CR. In the Provision self-service API keys for external REST APIs lesson, you secure an external REST API with self-service API keys.