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
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>
|**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.
72
76
73
77
## Service mesh and traffic flow
74
78
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)
-`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.
_Detailed architecture showing Git repo structure, ACM placement, Skupper VAN, and sync-wave delivery to east/west spokes._
80
92
81
93
## OpenShift AI — Model as a Service
82
94
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.
84
98
85
99
## Kuadrant API gateway
86
100
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:
-**`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.
90
108
91
109
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).
0 commit comments