Skip to content

Commit 0ebd1bb

Browse files
committed
feat(e2e): add Istio service mesh integration test profile
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>
1 parent d976b94 commit 0ebd1bb

File tree

6 files changed

+336
-72
lines changed

6 files changed

+336
-72
lines changed

e2e/profiles/ai-gateway/values.yaml

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,48 @@ config:
383383
system_prompt: "You are a thinking expert, should think multiple steps before answering. Please answer the question step by step."
384384
mode: "replace"
385385

386+
- name: urgent_request
387+
description: "Urgent requests requiring immediate attention"
388+
priority: 30
389+
rules:
390+
operator: "OR"
391+
conditions:
392+
- type: "keyword"
393+
name: "urgent_keywords"
394+
modelRefs:
395+
- model: base-model
396+
lora_name: general-expert
397+
use_reasoning: false
398+
plugins:
399+
- type: "system_prompt"
400+
configuration:
401+
enabled: true
402+
system_prompt: "You are handling an urgent request. Prioritize quick and direct responses."
403+
mode: "replace"
404+
405+
- name: sensitive_data
406+
description: "Queries containing sensitive data keywords (SSN and credit card)"
407+
priority: 40
408+
rules:
409+
operator: "AND"
410+
conditions:
411+
- type: "keyword"
412+
name: "sensitive_keywords"
413+
modelRefs:
414+
- model: base-model
415+
lora_name: general-expert
416+
use_reasoning: false
417+
plugins:
418+
- type: "pii"
419+
configuration:
420+
enabled: true
421+
pii_types_allowed: []
422+
- type: "system_prompt"
423+
configuration:
424+
enabled: true
425+
system_prompt: "You are handling a query with sensitive data. Be cautious and provide security-focused guidance."
426+
mode: "replace"
427+
386428
- name: other_decision
387429
description: "General knowledge and miscellaneous topics"
388430
priority: 1
@@ -478,7 +520,17 @@ config:
478520
keyword_rules:
479521
- name: "thinking"
480522
operator: "OR"
481-
keywords: ["urgent", "immediate", "asap", "think", "careful"]
523+
keywords: ["think", "careful"]
524+
case_sensitive: false
525+
526+
- name: "urgent_keywords"
527+
operator: "OR"
528+
keywords: ["urgent", "immediate", "asap", "emergency"]
529+
case_sensitive: false
530+
531+
- name: "sensitive_keywords"
532+
operator: "AND"
533+
keywords: ["SSN", "credit card"]
482534
case_sensitive: false
483535

484536

0 commit comments

Comments
 (0)