pub struct PipelineConfig {
pub pipeline: PipelineSection,
pub stages: StagesConfig,
pub resilience: ResilienceConfig,
pub rate_limits: RateLimitConfig,
pub deduplication: DeduplicationConfig,
pub observability: ObservabilityConfig,
pub channel_sizes: Option<ChannelSizes>,
pub workers: WorkersConfig,
}Expand description
Root configuration for a pipeline instance.
Deserialized from a TOML file and validated before use. Every field has either a required value or a documented default.
§Example
[pipeline]
name = "production"
version = "1.0"
[stages.inference]
worker = "open_ai"
model = "gpt-4"§Panics
This type never panics during construction or access.
Fields§
§pipeline: PipelineSectionPipeline identity and version metadata.
stages: StagesConfigPer-stage configuration for the five pipeline stages.
resilience: ResilienceConfigResilience settings: retries, circuit breaker, backpressure.
rate_limits: RateLimitConfigRate limiting settings to control request throughput.
deduplication: DeduplicationConfigDeduplication settings for request coalescing.
observability: ObservabilityConfigObservability: logging, metrics, tracing.
channel_sizes: Option<ChannelSizes>Optional per-channel capacity overrides. When absent, each stage uses its compiled-in default (512 / 512 / 1024 / 512 / 256).
workers: WorkersConfigOptional per-worker configuration overrides.
Allows setting model, API base URL, and connection parameters for each
worker type directly in the pipeline TOML without modifying worker code.
Workers read these values at construction time in spawn_pipeline_with_config.
Trait Implementations§
Source§impl Clone for PipelineConfig
impl Clone for PipelineConfig
Source§fn clone(&self) -> PipelineConfig
fn clone(&self) -> PipelineConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PipelineConfig
impl Debug for PipelineConfig
Source§impl<'de> Deserialize<'de> for PipelineConfig
impl<'de> Deserialize<'de> for PipelineConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for PipelineConfig
impl PartialEq for PipelineConfig
Source§fn eq(&self, other: &PipelineConfig) -> bool
fn eq(&self, other: &PipelineConfig) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for PipelineConfig
impl Serialize for PipelineConfig
impl StructuralPartialEq for PipelineConfig
Auto Trait Implementations§
impl Freeze for PipelineConfig
impl RefUnwindSafe for PipelineConfig
impl Send for PipelineConfig
impl Sync for PipelineConfig
impl Unpin for PipelineConfig
impl UnsafeUnpin for PipelineConfig
impl UnwindSafe for PipelineConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request