Skip to main content

Crate zentinel_config

Crate zentinel_config 

Source
Expand description

Configuration module for Zentinel proxy

This module provides configuration parsing, validation, and hot-reload support with a focus on safety, security-first defaults, and operational clarity.

§Module Organization

  • server: Server and listener configuration
  • routes: Route configuration and match conditions
  • upstreams: Upstream backend configuration
  • agents: External processing agent configuration
  • waf: WAF (Web Application Firewall) configuration
  • observability: Metrics, logging, and tracing configuration
  • filters: Filter types for request/response processing
  • validation: Configuration validation functions
  • kdl: KDL format parsing
  • defaults: Default embedded configuration
  • multi_file: Multi-file configuration loading

Re-exports§

pub use agents::AgentConfig;
pub use agents::AgentEvent;
pub use agents::AgentPoolConfig;
pub use agents::AgentTlsConfig;
pub use agents::AgentTransport;
pub use agents::AgentType;
pub use agents::BodyStreamingMode;
pub use agents::LoadBalanceStrategy;
pub use filters::Filter;
pub use filters::FilterConfig;
pub use filters::PathModifier;
pub use filters::RedirectFilter;
pub use filters::UrlRewriteFilter;
pub use multi_file::ConfigDirectory;
pub use multi_file::MultiFileLoader;
pub use namespace::ExportConfig;
pub use namespace::NamespaceConfig;
pub use namespace::ServiceConfig;
pub use flatten::FlattenedConfig;
pub use resolution::ResourceResolver;
pub use observability::AccessLogConfig;
pub use observability::AccessLogFields;
pub use observability::AuditLogConfig;
pub use observability::ErrorLogConfig;
pub use observability::LoggingConfig;
pub use observability::MetricsConfig;
pub use observability::ObservabilityConfig;
pub use observability::TracingBackend;
pub use observability::TracingConfig;
pub use routes::ApiSchemaConfig;
pub use routes::BuiltinHandler;
pub use routes::CacheBackend;
pub use routes::CacheStorageConfig;
pub use routes::ErrorFormat;
pub use routes::ErrorPage;
pub use routes::ErrorPageConfig;
pub use routes::FailureMode;
pub use routes::FallbackConfig;
pub use routes::FallbackTriggers;
pub use routes::FallbackUpstream;
pub use routes::GuardrailAction;
pub use routes::GuardrailFailureMode;
pub use routes::GuardrailsConfig;
pub use routes::HeaderModifications;
pub use routes::InferenceConfig;
pub use routes::InferenceProvider;
pub use routes::InferenceRouting;
pub use routes::InferenceRoutingStrategy;
pub use routes::MatchCondition;
pub use routes::ModelRoutingConfig;
pub use routes::ModelUpstreamMapping;
pub use routes::PiiAction;
pub use routes::PiiDetectionConfig;
pub use routes::PromptInjectionConfig;
pub use routes::RateLimitPolicy;
pub use routes::RouteCacheConfig;
pub use routes::RouteConfig;
pub use routes::RoutePolicies;
pub use routes::ServiceType;
pub use routes::StaticFileConfig;
pub use routes::TokenEstimation;
pub use routes::TokenRateLimit;
pub use server::ListenerConfig;
pub use server::ListenerProtocol;
pub use server::ServerConfig;
pub use server::SniCertificate;
pub use server::TlsConfig;
pub use upstreams::ConnectionPoolConfig;
pub use upstreams::HealthCheck;
pub use upstreams::HttpVersionConfig;
pub use upstreams::UpstreamConfig;
pub use upstreams::UpstreamPeer;
pub use upstreams::UpstreamTarget;
pub use upstreams::UpstreamTimeouts;
pub use upstreams::UpstreamTlsConfig;
pub use validation::ValidationContext;
pub use waf::BodyInspectionPolicy;
pub use waf::ExclusionScope;
pub use waf::RuleExclusion;
pub use waf::WafConfig;
pub use waf::WafEngine;
pub use waf::WafMode;
pub use waf::WafRuleset;
pub use filters::*;

Modules§

agents
Agent configuration types
filters
Filter chain configuration for Zentinel proxy
flatten
Flattened configuration for runtime consumption.
multi_file
Multi-file configuration support for Zentinel.
namespace
Namespace and service configuration for hierarchical organization.
observability
Observability configuration types
resolution
Resource resolution with scoped lookups.
routes
Route configuration types
server
Server and listener configuration types
upstreams
Upstream configuration types
validation
Configuration validation functions
waf
WAF (Web Application Firewall) configuration types

Structs§

Config
Main configuration structure for Zentinel proxy
CostAttributionConfig
Cost attribution configuration for tracking inference costs.
ModelPricing
Per-model pricing configuration.
TokenBudgetConfig
Token budget configuration for per-tenant usage tracking.

Enums§

BudgetPeriod
Budget period defining when the budget resets.
LoadBalancingAlgorithm
Load balancing algorithm
SchemaCompatibility
Schema version compatibility result
TraceIdFormat
Trace ID format selection.

Constants§

CURRENT_SCHEMA_VERSION
Current schema version supported by this build
DEFAULT_CONFIG_KDL
Embedded default configuration in KDL format
MIN_SCHEMA_VERSION
Minimum schema version supported by this build

Functions§

check_schema_compatibility
Check schema version compatibility
create_default_config
Create the default embedded configuration programmatically. This serves as a fallback if KDL parsing fails for any reason.