Skip to main content

EgressPolicy

Struct EgressPolicy 

Source
pub struct EgressPolicy {
    pub allowed_cidrs: Vec<String>,
    pub allowed_tcp_ports: Vec<u16>,
    pub allowed_udp_ports: Vec<u16>,
    pub log_denied: bool,
    pub allow_dns: bool,
}
Expand description

Egress policy for audited outbound network access.

When set, iptables OUTPUT chain rules restrict which destinations the container process can connect to. An empty allowed list means no outbound connections are permitted (deny-all egress).

Fields§

§allowed_cidrs: Vec<String>

Allowed destination CIDRs (e.g., “10.0.0.0/8”, “192.168.1.0/24”).

§allowed_tcp_ports: Vec<u16>

Allowed destination TCP ports. Empty means all ports on allowed CIDRs.

§allowed_udp_ports: Vec<u16>

Allowed destination UDP ports.

§log_denied: bool

Whether to log denied egress attempts (rate-limited).

§allow_dns: bool

Whether to allow DNS (port 53 UDP/TCP) to configured resolvers even in deny-all mode. Defaults to true for usability; set to false for strict deny-all egress (containers must use pre-resolved addresses).

Implementations§

Source§

impl EgressPolicy

Source

pub fn deny_all() -> Self

Create a deny-all egress policy. DNS is still permitted by default so containers can resolve names; use allow_dns = false for strict deny-all egress.

Source

pub fn with_allowed_cidrs(self, cidrs: Vec<String>) -> Self

Allow egress to the given CIDRs on any port.

Source

pub fn with_allowed_tcp_ports(self, ports: Vec<u16>) -> Self

Source

pub fn with_allowed_udp_ports(self, ports: Vec<u16>) -> Self

Trait Implementations§

Source§

impl Clone for EgressPolicy

Source§

fn clone(&self) -> EgressPolicy

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for EgressPolicy

Source§

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

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

impl Default for EgressPolicy

Source§

fn default() -> Self

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

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> Same for T

Source§

type Output = T

Should always be Self
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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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