RHDP Field Content — 3 cluster orders (hub / east / west)
Use three separate catalog orders, one per OpenShift cluster. Goal: a connected fleet where hub console links, ACM inventory, Skupper mesh, and Industrial Edge ingress all work — see RHDP install playbook for order, tokens, and validation.
How RHDP injects cluster domain (existing_gitops: true)
RHDP does not template values.yaml in Git. It creates an Argo CD Application with inline spec.source.helm.values containing:
deployer.domain←openshift_cluster_ingress_domaindeployer.apiUrl←openshift_api_urllitemaas.apiKey←litellm_virtual_key(whenenable_litemaas_keys: true)litemaas.apiUrl←litellm_api_base_urllitemaas.model← catalog paramlitemaas_model(e.g.deepseek-r1-distill-qwen-14b)litemaas.duration←litemaas_duration(e.g.7d, informational)
Catalog → Helm mapping (your demo order):
| Babylon / demo parameter | RHDP output (info template) | Helm values key |
|---|---|---|
enable_litemaas_keys: true | litellm_virtual_key | litemaas.apiKey |
litemaas_duration: 7d | litellm_key_duration | litemaas.duration |
litemaas_model: deepseek-r1-distill-qwen-14b | in litellm_available_models_list | litemaas.model |
| (implicit) | litellm_api_base_url | litemaas.apiUrl |
When litemaas.model is set, clustergroup extraParametersNested propagates it to neuroface, kairos, devspaces.continueAi, developer-hub Lightspeed, and ODS notebooks (via chart helpers). Chart defaults (llama-scout-17b, granite-3-2-8b-instruct) apply only when RHDP does not inject a model.
**Never put in Git-tracked YAML** — Helm interprets as Helm template syntax and Argo CD fails with invalid map key.
Hub templates use deployer.domain with fallback apps.cluster.example.com; RHDP overrides via Argo CD values.
Catalog parameters
| Parameter | Hub | East | West |
|---|---|---|---|
ocp4_workload_field_content_gitops_repo_url | https://github.com/maximilianoPizarro/hybrid-mesh-platform | same | same |
ocp4_workload_field_content_gitops_repo_revision | main | main | main |
ocp4_workload_field_content_gitops_repo_path | charts/region/hub | charts/region/east | charts/region/west |
existing_gitops | true | true | true |
Each path is a bootstrap Helm chart that renders hybrid-mesh-platform-{hub,east,west} and deploys VP clustergroup with charts/region/<region>/values.yaml. Shared components stay under charts/all/. See Region strategy and REGIONS.md.
Automatic cross-cluster domains (fleet-values-sync)
After RHDP provisions clusters and ACM shows east / west as Available, the fleet-values-sync CronJob (hub + spokes) removes most manual domain patching:
| Cluster | What it does |
|---|---|
| Hub | Reads ManagedCluster API URLs + local ingress domain → patches field-content with clusters.*, global.hubClusterDomain, managedClusters.* → pushes fleet-cross-cluster-config ConfigMap to spokes via ManifestWork |
| East / West | Reads hub domain from ConfigMap → patches local field-content with clusters.hub.domain |
Schedule: every 30 minutes (charts/all/fleet-values-sync). Manual run from a logged-in cluster:
# Hub
oc create job --from=cronjob/fleet-values-sync fleet-values-sync-manual -n openshift-gitops
# Or offline script (requires PyYAML + oc token in pod / local kubeconfig)
python scripts/sync-fleet-values.py
Still manual (if needed): spoke API tokens for legacy managedClusters.*.token import — RHDP/ACM auto-import usually covers enrollment. MaaS keys remain RHDP-injected or secret-based.
Recommended order
You can order all three clusters in parallel from the RHDP catalog; each path bootstraps independently. For the fastest path to fleet value (ACM ApplicationSet, hub-gateway, cross-cluster console links), prefer hub first, then east/west once MCH is Running.
| Order | Cluster | Path | Unlocks |
|---|---|---|---|
| 1 | Hub | charts/region/hub | ACM, Developer Hub, ACS Central, fleet observability, Skupper hub site |
| 2 | East / West | charts/region/east, charts/region/west | Industrial Edge, ACS Secured, spoke mesh, PULL GitOps |
| 3 | Hub (day-two) | fleet-values-sync job | Cross-cluster domains on spokes; Mailpit + ACS Central endpoints |
Allow 60–90 minutes for full fleet sync. See RHDP install playbook for token handling, console links, and common RHDP pitfalls.
Steps
- Hub — revision
main, pathcharts/region/hub; wait formulticlusterhubRunning. - East / West — revision
main, pathscharts/region/east/charts/region/west(parallel OK). - Import spokes in ACM — prefer UI or one-time
auto-import-secret; avoid token churn in auto-syncingfield-content(see playbook). - Sync domains — trigger
fleet-values-synconce after clusters are Available:
oc create job --from=cronjob/fleet-values-sync fleet-values-sync-manual -n openshift-gitops
Domains only — fleet-values-sync does not manage spoke API tokens. Inject tokens via RHDP or manual ACM import, not repeated field-content patches during failed auto-import.