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
feat(e2e): add Istio service mesh integration test profile (#728)
Implement comprehensive E2E testing profile for Istio service mesh integration with Semantic Router:
- Add Istio profile with 4 Istio-specific tests and 13 common tests (17 total)
- Deploy Semantic Router with Istio sidecar injection and service mesh features
- Integrate Envoy Gateway for ExtProc communication alongside Istio mesh capabilities
- Deploy vLLM backend via Gateway API resources with AIServiceBackend CRDs
- Add keyword routing support (urgent_request and sensitive_data decisions)
- Fix Istio test namespace resolution to use vllm-semantic-router-system
- All 17 tests passing with 100% success rate in local testing
Test coverage includes:
- Istio sidecar injection and health verification
- Traffic routing through Istio ingress gateway
- mTLS verification between services
- Distributed tracing and observability
- Chat completions, stress tests, and domain classification
- Plugin chain execution, PII/jailbreak detection, semantic caching
Signed-off-by: Asaad Balum <asaad.balum@gmail.com>
Co-authored-by: Huamin Chen <rootfs@users.noreply.github.com>
See `profiles/ai-gateway/` for a complete example.
520
+
521
+
## Profile Details
522
+
523
+
### Istio Profile
524
+
525
+
The Istio profile tests Semantic Router deployment and functionality in an Istio service mesh environment. It validates both Istio-specific features (sidecars, mTLS, tracing) and general Semantic Router functionality through Istio Gateway + VirtualService routing.
- Deployed via Helm with Istio sidecar injection enabled
554
+
- Namespace labeled with `istio-injection=enabled`
555
+
556
+
3.**Istio Resources**:
557
+
-`Gateway` - Configures ingress gateway on port 80
558
+
-`VirtualService` - Routes traffic to Semantic Router service
559
+
-`DestinationRule` - Enables mTLS with `ISTIO_MUTUAL` mode
560
+
561
+
**Test Cases:**
562
+
563
+
**Istio-Specific Tests (4):**
564
+
565
+
| Test Case | Description | What it Validates |
566
+
|-----------|-------------|-------------------|
567
+
|`istio-sidecar-health-check`| Verify Envoy sidecar injection | - Istio-proxy container exists<br>- Sidecar is healthy and ready<br>- Namespace has `istio-injection=enabled` label |
568
+
|`istio-traffic-routing`| Test routing through Istio gateway | - Gateway and VirtualService exist<br>- Requests route correctly to Semantic Router<br>- Istio/Envoy headers present in responses |
0 commit comments