You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/patterns/hybrid-mesh-platform/_index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,7 +61,7 @@ This repository models a **GitOps-first platform** where:
61
61
62
62
_Hub cluster aggregates observability and Developer Hub; east and west spokes run Industrial Edge workloads connected via Service Interconnect (Skupper). Click the image to open the full diagram._
63
63
64
-
Architecture diagrams in this documentation illustrate Git, ACM, Skupper VAN, and Industrial Edge placement on east/west — use them as the visual companion to the install chapters.
64
+
Architecture diagrams illustrate Git, **ACM fleet management**, **ACS Central**, Skupper VAN, Connectivity Link, and Industrial Edge on east/west — use them as the visual companion to the install chapters (see [Architecture](architecture) for ACM and ACS console views).
Copy file name to clipboardExpand all lines: content/patterns/hybrid-mesh-platform/architecture.md
+53Lines changed: 53 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,6 +81,59 @@ In parallel:
81
81
82
82
Industrial Edge components exist **only** in spoke charts. The hub chart never includes factory workloads.
83
83
84
+
## Advanced Cluster Management (ACM)
85
+
86
+
Red Hat Advanced Cluster Management for Kubernetes (ACM) provides fleet-wide visibility and lifecycle for OpenShift clusters. In Hybrid Mesh Platform it anchors hub-spoke registration, policy placement, and integration with OpenShift GitOps via `GitOpsCluster` and related APIs.
87
+
88
+
[](/images/hybrid-mesh-platform/ACM.png)
- Drive which spokes receive Industrial Edge and platform components through **Placement** rules (`region=east`, `region=west`).
94
+
- Coordinate klusterlet agents, `ManagedClusterSet` membership, and secrets required for spoke import.
95
+
- Publish **PlacementDecision** objects consumed by the Argo CD ApplicationSet (`clusterDecisionResource` generator).
96
+
97
+
### Notable APIs / CRDs
98
+
99
+
| Resource | Purpose |
100
+
| --- | --- |
101
+
|`MultiClusterHub`| Hub installation health |
102
+
|`ManagedCluster`, `ManagedClusterSet`| Fleet membership and RBAC grouping |
103
+
|`Placement`, `PlacementDecision`| Dynamic cluster selection for GitOps |
104
+
|`GitOpsCluster`| Binds placement results to Argo CD cluster secrets |
105
+
106
+
Charts: `components/acm-operator`, `components/acm-hub-spoke`. Verify with `oc get managedcluster` and PlacementDecision in `openshift-gitops`.
107
+
108
+
## Advanced Cluster Security (ACS)
109
+
110
+
Red Hat Advanced Cluster Security for Kubernetes (ACS) centralizes build-time image scanning, deployment-time policy, and runtime detection across the fleet.
111
+
112
+
[](/images/hybrid-mesh-platform/ACS.png)
113
+
114
+
[](/images/hybrid-mesh-platform/ACS-2.png)
|**SecuredCluster**| Hub + spokes | Sensor, collector, and admission control per cluster |
122
+
123
+
Cluster names in Central: **`hub`**, **`east`**, **`west`**. Init bundles (TLS secrets in namespace `stackrox`) register each SecuredCluster with Central.
124
+
125
+
### Service mesh exception
126
+
127
+
Namespace `stackrox` is listed in `$noMeshNamespaces` (`components/namespaces`) — **do not** label it `istio.io/dataplane-mode: ambient`. Ambient ztunnel breaks Central ↔ PostgreSQL TLS and Central becomes unreachable.
128
+
129
+
### Capabilities used
130
+
131
+
- CVE scanning for Industrial Edge and platform images (Quay/internal registry).
132
+
- Risk prioritization across namespaces and clusters.
133
+
- Optional network and process baselines for regulated factory environments.
134
+
135
+
Charts: `components/acs-operator` (hub Central), `components/acs-secured-cluster` (hub + spokes). See [Getting Started](getting-started#advanced-cluster-security-acs) for init bundle generation.
136
+
84
137
## GitOps application delivery flow
85
138
86
139
1. Hub Argo CD syncs the root Application (operators, ACM, gateway, observability).
[](/images/hybrid-mesh-platform/product-argocd-openshift-gitops.png)
33
33
34
-
[](/images/hybrid-mesh-platform/product-argocd-openshift-gitops.png)
34
+
### Advanced Cluster Management (ACM)
35
35
36
-
[](/images/hybrid-mesh-platform/ACS.png)
36
+
ACM must show **`east`** and **`west`** as **Available** managed clusters before the ApplicationSet can push spoke charts.
37
+
38
+
[](/images/hybrid-mesh-platform/ACM.png)
39
+
40
+
Verify:
41
+
42
+
```bash
43
+
oc get managedcluster
44
+
oc get multiclusterhub -n open-cluster-management
45
+
```
46
+
47
+
Spoke names must match repository folders (`east`, `west`). Placement labels drive ApplicationSet targeting — see [Step 4](#step-4-import-managed-clusters-in-acm) and [Deploy with ACM and GitOps](#deploy-with-acm-and-gitops).
48
+
49
+
### Advanced Cluster Security (ACS)
50
+
51
+
ACS Central runs on the hub; **SecuredCluster** agents install on hub and both spokes. All three clusters appear in the Central UI when init bundles are applied.
52
+
53
+
[](/images/hybrid-mesh-platform/ACS.png)
54
+
55
+
[](/images/hybrid-mesh-platform/ACS-2.png)
56
+
57
+
#### Generating SecuredCluster init bundles
58
+
59
+
Generate one init bundle per cluster from Central (do not commit secrets to Git):
Use cluster names **`hub`**, **`east`**, and **`west`**. Namespace **`stackrox`** must stay **off** Service Mesh ambient — see [Architecture — ACS](architecture#advanced-cluster-security-acs).
0 commit comments