Expand description
Agent integration module for Sentinel proxy.
This module provides integration with external processing agents for WAF, auth, rate limiting, and custom logic. It implements the SPOE-inspired protocol with bounded behavior and failure isolation.
§Architecture
AgentManager: Coordinates all agents, handles routing to appropriate agentsAgent: Individual agent with connection, circuit breaker, and metricsAgentConnectionPool: Connection pooling for efficient connection reuseAgentDecision: Combined result from processing through agentsAgentCallContext: Request context passed to agents
§Example
ⓘ
use sentinel_proxy::agents::{AgentManager, AgentCallContext};
let manager = AgentManager::new(agent_configs, 1000).await?;
manager.initialize().await?;
let decision = manager.process_request_headers(&ctx, &headers, &["waf", "auth"]).await?;
if !decision.is_allow() {
// Handle block/redirect/challenge
}Structs§
- Agent
- Individual agent configuration and state.
- Agent
Call Context - Agent call context.
- Agent
Connection Pool - Agent connection pool for efficient connection reuse.
- Agent
Decision - Agent decision combining all agent responses.
- Agent
Manager - Agent manager handling all external agents.
- Agent
Metrics - Agent metrics collector.
Enums§
- Agent
Action - Agent action types.