Skip to content

Commit d211d80

Browse files
Add descriptive text between images on landing page.
Separate hero images with tables, bullet explanations, and flow descriptions so content doesn't appear as stacked screenshots without context. Signed-off-by: Maximiliano Pizarro <maximiliano.pizarro.5@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 9eb0097 commit d211d80

1 file changed

Lines changed: 29 additions & 11 deletions

File tree

  • content/patterns/hybrid-mesh-platform

content/patterns/hybrid-mesh-platform/_index.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -64,29 +64,47 @@ _Hub cluster aggregates observability and Developer Hub; east and west spokes ru
6464

6565
## Hub-spoke architecture at a glance
6666

67-
The platform simulates a production hybrid mesh:
67+
The platform simulates a production hybrid mesh with three clusters on AWS:
6868

69-
- **Hub** runs: ACM, OpenShift GitOps (Argo CD), Developer Hub, OpenShift AI, Service Mesh control plane, Skupper, Kuadrant, ACS Central, Grafana, Kafka Console, and Kubecost.
70-
- **East spoke** runs: Industrial Edge workloads, DevSpaces (Kaoto + Continue AI), Kairos SmartScaling, and spoke-local Argo CD.
71-
- **West spoke** runs: Industrial Edge replicas demonstrating cross-cluster traffic, MirrorMaker replication, and Skupper connectivity.
69+
| Cluster | Role | Key components |
70+
| --- | --- | --- |
71+
| **Hub** | Fleet governance and centralized services | ACM, OpenShift GitOps (Argo CD), Developer Hub, OpenShift AI, Service Mesh control plane, Skupper listeners, Kuadrant, ACS Central, Grafana, Kafka Console, Kubecost |
72+
| **East spoke** | Factory workloads and developer tools | Industrial Edge (sensors, Kafka, Camel, ML), DevSpaces (Kaoto + Continue AI), Kairos SmartScaling, spoke-local Argo CD |
73+
| **West spoke** | Workload replicas and cross-cluster validation | Industrial Edge replicas, MirrorMaker replication to hub, Skupper connectors for cross-cluster traffic |
74+
75+
Industrial Edge components exist **only** on spokes. The hub never hosts factory sensor workloads — it aggregates their metrics and provides gateway access.
7276

7377
## Service mesh and traffic flow
7478

75-
The platform uses OpenShift Service Mesh 3 in **ambient mode** (no sidecars). Traffic between hub and spokes crosses a Skupper tunnel exposed via Gateway API:
79+
The platform uses OpenShift Service Mesh 3 in **ambient mode** — no sidecars injected into application pods. Per-node ztunnels handle L4 mTLS encryption transparently; optional waypoint proxies provide L7 policy where needed.
80+
81+
Traffic between hub and spokes crosses a **Skupper mTLS tunnel** exposed via Gateway API:
82+
83+
- **`HTTPRoute`** resources on the hub split traffic to east/west backends (frontend 50/50 weighted, API pinned to a single spoke for Socket.IO session affinity)
84+
- **`DestinationRule`** circuit breaking (outlier detection) ejects unhealthy endpoints after consecutive 5xx errors
85+
- **`AuthorizationPolicy`** (zero-trust) restricts which service accounts can reach backends — only the hub gateway SA is authorized
7686

77-
- `HTTPRoute` resources on the hub split traffic to east/west backends (frontend 50/50, API pinned for Socket.IO session affinity)
78-
- `DestinationRule` circuit breaking ejects unhealthy endpoints
79-
- `AuthorizationPolicy` (zero-trust) restricts which service accounts can reach backends
87+
This means external clients hit the hub OpenShift router → Istio gateway → waypoint (circuit breaker) → Skupper tunnel → spoke backend, all with mTLS end-to-end.
88+
89+
[![Platform architecture overview](/images/hybrid-mesh-platform/arch-overview.png)](/images/hybrid-mesh-platform/arch-overview.png)
90+
91+
_Detailed architecture showing Git repo structure, ACM placement, Skupper VAN, and sync-wave delivery to east/west spokes._
8092

8193
## OpenShift AI — Model as a Service
8294

83-
The AI layer provides a shared LLM endpoint (MaaS) deployed on the hub via the OpenShift AI operator (`DataScienceCluster`). Any application that speaks the OpenAI REST API can consume MaaS without code changes — just point `OPENAI_API_BASE` to the in-cluster service.
95+
The AI layer provides a shared LLM endpoint (**MaaS**) deployed on the hub via the OpenShift AI operator (`DataScienceCluster`). Components include dashboard, workbenches, model mesh, data science pipelines, and KServe.
96+
97+
Any application that speaks the OpenAI REST API can consume MaaS without code changes — point `OPENAI_API_BASE` to the in-cluster service. Spoke workloads reach MaaS through Skupper connectors, enabling inference from factory pipelines without direct network routes to the hub.
8498

8599
## Kuadrant API gateway
86100

87-
Kuadrant manages API rate limiting and auth policies across the hub gateway. Per-user API keys scoped to plans enable controlled access to AI endpoints and workshop APIs via `APIProduct`, `AuthPolicy`, and `TokenRateLimitPolicy`.
101+
Kuadrant manages API rate limiting and auth policies across the hub gateway. Per-user API keys scoped to plans enable controlled access to AI endpoints and platform APIs:
88102

89-
[![Platform architecture overview](/images/hybrid-mesh-platform/arch-overview.png)](/images/hybrid-mesh-platform/arch-overview.png)
103+
- **`APIProduct`** — exposes endpoints under a single managed product with host-based routing
104+
- **`AuthPolicy`** — identity verification via API keys or OAuth tokens
105+
- **`TokenRateLimitPolicy`** — per-key rate limits (for example 100 req/min per user)
106+
107+
This enables self-service API consumption for developers and workshop participants while protecting backend services from overload.
90108

91109
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).
92110

0 commit comments

Comments
 (0)