MCP Base — recall 100%
I'll search for information about Auralis service mesh traffic shaping policies.
<tool_use>
<server_name>conpack</server_name>
<tool_name>conpack_search</tool_name>
<input>{"query": "Auralis service mesh traffic shaping policies"}</input>
</tool_use>
<tool_use>
<server_name>conpack</server_name>
<tool_name>conpack_search</tool_name>
<input>{"query": "Auralis traffic management policies configuration"}</input>
</tool_use>
<tool_result>
<server_name>conpack</server_name>
<tool_name>conpack_search</tool_name>
<result>
{"status":"success","results":[{"metadata":{"document_id":"auralis-mesh-docs","chunk_index":42},"content":"## Traffic Shaping Policies\n\nAuralis supports the following traffic shaping policies applied at the sidecar proxy level:\n\n### 1. Rate Limiting\n- **Local rate limiting**: Per-service instance token bucket algorithm\n- **Global rate limiting**: Distributed rate limiting using the Auralis Rate Limit Service (ARLS)\n- Configuration supports `requests_per_second`, `burst_size`, and `backoff_strategy` (linear, exponential, jittered)\n- Rate limit headers (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`) are injected automatically\n\n### 2. Circuit Breaking\n- Configurable thresholds: `max_connections`, `max_pending_requests`, `max_requests`, `max_retries`\n- Outlier detection with consecutive error count (`consecutive_5xx_errors`) and ejection time (`base_ejection_time`)\n- Panic threshold: minimum healthy host percentage before circuit breaker disengages (default: 50%)\n- Split-brain detection to avoid cascading failures across zones\n\n### 3. Retry Policies\n- Per-route retry configuration with `max_retries`, `retry_on` conditions (5xx, reset, connect-failure, retriable-4xx)\n- Retry budgets limiting retries to a percentage of active requests (default: 20%)\n- Retry hedging: speculative retries sent before the original request times out, controlled by `hedge_on_per_try_timeout`\n\n### 4. Timeout Management\n- Per-route `request_timeout` and `idle_timeout`\n- Upstream `connect_timeout` with configurable TCP keepalive\n- Deadline propagation using the `grpc-timeout` header and Auralis's `x-auralis-deadline` header\n- Timeout budget inheritance: child requests inherit remaining deadline from parent context\n\n### 5. Load Balancing Policies\n- Algorithms: round-robin, least-request, ring-hash (for consistent hashing), Maglev, random\n- Locality-aware routing: prefer endpoints in the same zone/region with configurable failover priority\n- Slow-start mode: gradually increases traffic to newly registered endpoints over `slow_start_window`\n- Weighted endpoints for canary deployments via `endpoint_weight` annotations"},{"metadata":{"document_id":"auralis-mesh-docs","chunk_index":43},"content":"### 6. Traffic Mirroring (Shadow Traffic)\n- Mirror a percentage of live traffic to a shadow service for testing\n- Configured via `mirror_policy` with `mirror_percentage` (0-100)\n- Mirrored requests are fire-and-forget; responses are discarded\n- Shadow traffic is tagged with `x-auralis-shadow: true` header for identification\n\n### 7. Fault Injection\n- Inject artificial delays (`fixed_delay`, `delay_percentage`) for chaos testing\n- Inject HTTP error responses (`abort_http_status`, `abort_percentage`)\n- Scoped to specific routes, headers, or source services\n- Integrated with Auralis Chaos Controller for scheduled fault campaigns\n\n### 8. Bandwidth Throttling\n- Per-connection bandwidth limits via `max_bandwidth` (e.g., `1mbps`, `500kbps`)\n- Applied at the sidecar proxy using TCP flow control\n- Supports both ingress and egress throttling independently\n- Used primarily for preventing noisy-neighbor issues in multi-tenant clusters\n\n### Traffic Policy Hierarchy\n\nPolicies are evaluated in the following precedence order:\n1. **Route-level** policies (highest priority)\n2. **Service-level** policies\n3. **Namespace-level** policies\n4. **Mesh-wide** default policies (lowest priority)\n\nConflicts are resolved by the highest-priority match. Policies can be marked `override: true` at namespace or mesh level to prevent lower-level overrides (e.g., enforcing a global rate limit that services cannot relax).\n\n### Policy Configuration Example\n\n```yaml\napiVersion: auralis.io/v1beta2\nkind: TrafficPolicy\nmetadata:\n name: orders-service-policy\n namespace: commerce\nspec:\n target:\n service: orders-service\n rateLimiting:\n local:\n requests_per_second: 1000\n burst_size: 200\n global:\n descriptor: orders-api\n requests_per_second: 5000\n circuitBreaker:\n max_connections: 1024\n max_pending_requests: 128\n outlierDetection:\n consecutive_5xx_errors: 5\n base_ejection_time: 30s\n retryPolicy:\n max_retries: 3\n retry_on: [\"5xx\", \"reset\", \"connect-failure\"]\n retry_budget:\n active_request_percentage: 20\n timeout:\n request_timeout: 5s\n idle_timeout: 60s\n loadBalancing:\n algorithm: least-request\n locality_aware: true\n```"}]}
</result>
</tool_result>
<tool_result>
<server_name>conpack</server_name>
<tool_name>conpack_search</tool_name>
<result>
{"status":"success","results":[{"metadata":{"document_id":"auralis-mesh-docs","chunk_index":42},"content":"## Traffic Shaping Policies\n\nAuralis supports the following traffic shaping policies applied at the sidecar proxy level:\n\n### 1. Rate Limiting\n- **Local rate limiting**: Per-service instance token bucket algorithm\n- **Global rate limiting**: Distributed rate limiting using the Auralis Rate Limit Service (ARLS)\n- Configuration supports `requests_per_second`, `burst_size`, and `backoff_strategy` (linear, exponential, jittered)\n- Rate limit headers (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`) are injected automatically\n\n### 2. Circuit Breaking\n- Configurable thresholds: `max_connections`, `max_pending_requests`, `max_requests`, `max_retries`\n- Outlier detection with consecutive error count (`consecutive_5xx_errors`) and ejection time (`base_ejection_time`)\n- Panic threshold: minimum healthy host percentage before circuit breaker disengages (default: 50%)\n- Split-brain detection to avoid cascading failures across zones\n\n### 3. Retry Policies\n- Per-route retry configuration with `max_retries`, `retry_on` conditions (5xx, reset, connect-failure, retriable-4xx)\n- Retry budgets limiting retries to a percentage of active requests (default: 20%)\n- Retry hedging: speculative retries sent before the original request times out, controlled by `hedge_on_per_try_timeout`\n\n### 4. Timeout Management\n- Per-route `request_timeout` and `idle_timeout`\n- Upstream `connect_timeout` with configurable TCP keepalive\n- Deadline propagation using the `grpc-timeout` header and Auralis's `x-auralis-deadline` header\n- Timeout budget inheritance: child requests inherit remaining deadline from parent context\n\n### 5. Load Balancing Policies\n- Algorithms: round-robin, least-request, ring-hash (for consistent hashing), Maglev, random\n- Locality-aware routing: prefer endpoints in the same zone/region with configurable failover priority\n- Slow-start mode: gradually increases traffic to newly registered endpoints over `slow_start_window`\n- Weighted endpoints for canary deployments via `endpoint_weight` annotations"},{"metadata":{"document_id":"auralis-mesh-docs","chunk_index":43},"content":"### 6. Traffic Mirroring (Shadow Traffic)\n- Mirror a percentage of live traffic to a shadow service for testing\n- Configured via `mirror_policy` with `mirror_percentage` (0-100)\n- Mirrored requests are fire-and-forget; responses are discarded\n- Shadow traffic is tagged with `x-auralis-shadow: true` header for identification\n\n### 7. Fault Injection\n- Inject artificial delays (`fixed_delay`, `delay_percentage`) for chaos testing\n- Inject HTTP error responses (`abort_http_status`, `abort_percentage`)\n- Scoped to specific routes, headers, or source services\n- Integrated with Auralis Chaos Controller for scheduled fault campaigns\n\n### 8. Bandwidth Throttling\n- Per-connection bandwidth limits via `max_bandwidth` (e.g., `1mbps`, `500kbps`)\n- Applied at the sidecar proxy using TCP flow control\n- Supports both ingress and egress throttling independently\n- Used primarily for preventing noisy-neighbor issues in multi-tenant clusters\n\n### Traffic Policy Hierarchy\n\nPolicies are evaluated in the following precedence order:\n1. **Route-level** policies (highest priority)\n2. **Service-level** policies\n3. **Namespace-level** policies\n4. **Mesh-wide** default policies (lowest priority)\n\nConflicts are resolved by the highest-priority match. Policies can be marked `override: true` at namespace or mesh level to prevent lower-level overrides (e.g., enforcing a global rate limit that services cannot relax).\n\n### Policy Configuration Example\n\n```yaml\napiVersion: auralis.io/v1beta2\nkind: TrafficPolicy\nmetadata:\n name: orders-service-policy\n namespace: commerce\nspec:\n target:\n service: orders-service\n rateLimiting:\n local:\n requests_per_second: 1000\n burst_size: 200\n global:\n descriptor: orders-api\n requests_per_second: 5000\n circuitBreaker:\n max_connections: 1024\n max_pending_requests: 128\n outlierDetection:\n consecutive_5xx_errors: 5\n base_ejection_time: 30s\n retryPolicy:\n max_retries: 3\n retry_on: [\"5xx\", \"reset\", \"connect-failure\"]\n retry_budget:\n active_request_percentage: 20\n timeout:\n request_timeout: 5s\n idle_timeout: 60s\n loadBalancing:\n algorithm: least-request\n locality_aware: true\n```"}]}
</result>
</tool_result>
The Auralis service mesh supports **eight traffic shaping policies**, all applied at the sidecar proxy level:
## 1. Rate Limiting
- **Local rate limiting** — per-service instance token bucket algorithm
- **Global rate limiting** — distributed via the Auralis Rate Limit Service (ARLS)
- Configurable `requests_per_second`, `burst_size`, and `backoff_strategy` (linear, exponential, jittered)
- Automatically injects standard rate limit headers (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`)
## 2. Circuit Breaking
- Thresholds: `max_connections`, `max_pending_requests`, `max_requests`, `max_retries`
- Outlier detection via `consecutive_5xx_errors` and `base_ejection_time`
- Panic threshold (default 50%) — disengages the breaker when too few healthy hosts remain
- Split-brain detection to prevent cascading cross-zone failures
## 3. Retry Policies
- Per-route config: `max_retries` and `retry_on` conditions (5xx, reset, connect-failure, retriable-4xx)
- **Retry budgets** — caps retries at a percentage of active requests (default 20%)
- **Retry hedging** — speculative retries via `hedge_on_per_try_timeout` before the original request times out
## 4. Timeout Management
- Per-route `request_timeout` and `idle_timeout`
- Upstream `connect_timeout` with TCP keepalive
- **Deadline propagation** via `grpc-timeout` and `x-auralis-deadline` headers
- Timeout budget inheritance — child requests inherit remaining deadline from parent context
## 5. Load Balancing Policies
- Algorithms: round-robin, least-request, ring-hash (consistent hashing), Maglev, random
- **Locality-aware routing** with zone/region failover priority
- **Slow-start mode** — ramps traffic to new endpoints over a `slow_start_window`
- Weighted endpoints for canary deployments via `endpoint_weight` annotations
## 6. Traffic Mirroring (Shadow Traffic)
- Mirror a percentage of live traffic to a shadow service (`mirror_percentage`: 0–100)
- Fire-and-forget — responses from the shadow are discarded
- Shadow requests tagged with `x-auralis-shadow: true` header
## 7. Fault Injection
- Inject artificial delays (`fixed_delay`, `delay_percentage`) for chaos testing
- Inject HTTP errors (`abort_http_status`, `abort_percentage`)
- Scoped to specific routes, headers, or source services
- Integrates with the **Auralis Chaos Controller** for scheduled fault campaigns
## 8. Bandwidth Throttling
- Per-connection limits via `max_bandwidth` (e.g., `1mbps`, `500kbps`)
- Uses TCP flow control at the sidecar proxy
- Independent ingress and egress throttling
- Primarily for preventing noisy-neighbor issues in multi-tenant clusters
---
## Policy Hierarchy
Policies are evaluated in precedence order:
1. **Route-level** (highest priority)
2. **Service-level**
3. **Namespace-level**
4. **Mesh-wide defaults** (lowest priority)
Conflicts resolve to the highest-priority match. Policies can be marked `override: true` at the namespace or mesh level to prevent lower-level overrides (e.g., enforcing a global rate limit that individual services cannot relax).
All policies are configured via the `TrafficPolicy` CRD (`apiVersion: auralis.io/v1beta2`), targeting specific services by name and namespace.