Skip to main content

CaptureConfig

Struct CaptureConfig 

Source
pub struct CaptureConfig {
    pub enabled: bool,
    pub controlplane_url: String,
    pub token_env: String,
    pub max_body_bytes: usize,
    pub ring_capacity: usize,
    pub ring_bytes: usize,
    pub ring_ttl: Duration,
    pub queue_capacity: usize,
    pub redaction: RedactionConfig,
}
Expand description

Typed configuration for the request-capture feature. Built by the enterprise wiring from the [enterprise.capture] TOML section. Every field has a fail-safe default and the feature is OFF by default, so a config without the section behaves exactly like the plain enterprise proxy.

Fields§

§enabled: bool

Off by default → the capture module is never even instantiated (zero datapath cost).

§controlplane_url: String

Base URL of the control-plane ingest (e.g. http://controlplane:8080). The shipper appends /ingest/captures. Required when enabled (the wiring rejects an empty URL).

§token_env: String

Name of the environment variable holding the bearer token for the ingest POST. The token itself is NEVER read from the TOML file (same discipline as the other enterprise secrets).

§max_body_bytes: usize

Cap on how many body bytes are captured; a larger body is truncated and flagged. Bounds both datapath memory and the size shipped to the control-plane.

§ring_capacity: usize

Max number of in-flight captures held in the ring (bound by entry count).

§ring_bytes: usize

Max total bytes held across all ring entries (bound by size — evicts oldest past this).

§ring_ttl: Duration

How long a capture lives in the ring before it is evicted unshipped. A request/decision pair is microseconds apart, so a few seconds is ample; allowed requests age out and are dropped.

§queue_capacity: usize

Bound on the shipper’s outbound queue. When full, new captures are dropped (logged/metered), never blocking the request path.

§redaction: RedactionConfig

Node-side redaction of sensitive headers / body fields. Empty = raw capture (the default).

Trait Implementations§

Source§

impl Clone for CaptureConfig

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CaptureConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CaptureConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for CaptureConfig

Source§

impl PartialEq for CaptureConfig

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for CaptureConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more