GitOps PUSH vs PULL (dual strategy)
Hybrid Mesh Platform runs both fleet GitOps strategies on east and west spokes, with partitioned workloads to avoid duplicate resources.
Strategy comparison
| PUSH (hub ApplicationSet) | PULL (ACM managedClusterGroups) | |
|---|---|---|
| Mechanism | fleet-spoke-push ApplicationSet on hub | VP clustergroup on each spoke via ACM |
| Argo project | fleet-push, operators-ci, operators-platform | industrial-edge, mesh, observability, operators-edge, … |
| Charts | operators-ci, operators-platform | IE stack, mesh, gateways, observability, operators-edge |
| Where to look (hub) | ApplicationSets → fleet-spoke-push; Apps → east-spoke-components | App fleet-pull-overview; ACM Fleet Applications |
| Where to look (spoke) | Filter platform.io/gitops-strategy=push | Clustergroup root + domain AppProjects |
Workload partition
# values in acm-hub-spoke chart
gitops:
strategies:
push:
componentIds:
- operators-ci
- operators-platform
pull:
enabled: true
PUSH deploys Tekton, Camel K, DevSpaces operator, and platform OLM subs. PULL deploys Industrial Edge, mesh, observability, and operators-edge (AMQ, RHODS).
Verify
# Hub — PUSH chain
oc get applicationset fleet-spoke-push -n openshift-gitops
oc get applications -n openshift-gitops -l platform.io/gitops-strategy=push
# Spoke — both chains
oc get applications -n openshift-gitops | grep -E 'operators-ci|industrial-edge'
python scripts/verify-gitops-strategies.py
See also GitOps deployment chain and Argo projects.