Skip to main content

DriverConfig

Struct DriverConfig 

Source
pub struct DriverConfig { /* private fields */ }
Expand description

Driver configuration.

This is the basic set of configuration options needed to spawn the container for a given driver.

Implementations§

Source§

impl DriverConfig

Source

pub async fn millstone(config: MillstoneConfig) -> Result<Self, GenericError>

Source

pub async fn datadog_intake( config: DatadogIntakeConfig, ) -> Result<Self, GenericError>

Source

pub async fn target( target_id: &'static str, config: TargetConfig, ) -> Result<Self, GenericError>

Source

pub fn from_image(driver_id: &'static str, image: String) -> Self

Creates a new DriverConfig from the given driver identifier and container image reference.

Source

pub fn with_entrypoint(self, entrypoint: Vec<String>) -> Self

Sets the entrypoint for the container.

If entrypoint is empty, the default entrypoint will be used.

Source

pub fn with_command(self, command: Vec<String>) -> Self

Sets the command for the container.

If command is empty, the default command will be used.

Source

pub fn with_env_var<K, V>(self, key: K, value: V) -> Self
where K: AsRef<str>, V: AsRef<str>,

Adds an environment variable to the container.

Source

pub fn with_env_vars(self, env: Vec<String>) -> Self

Adds environment variables to the container.

Source

pub fn with_bind_mount<HP, CP>(self, host_path: HP, container_path: CP) -> Self
where HP: AsRef<Path>, CP: AsRef<Path>,

Adds a bind mount to the container.

host_path represents the path on the host to mount, while container_path represents the path on the container side to mount it to. Bind mounts can be either files or directories.

Source

pub fn with_readonly_bind_mount<HP, CP>( self, host_path: HP, container_path: CP, ) -> Self
where HP: AsRef<Path>, CP: AsRef<Path>,

Adds a read-only bind mount to the container.

Same as with_bind_mount but the container can’t modify the mounted path.

Source

pub fn with_healthcheck( self, test_command: Vec<String>, interval: Duration, timeout: Duration, retries: i64, start_period: Duration, start_interval: Duration, ) -> Self

Sets the healthcheck for the container.

Source

pub fn with_network_alias(self, alias: impl Into<String>) -> Self

Adds a DNS alias for this container on its primary network.

Other containers on the same network can resolve this container by alias in addition to its hostname. Call this before the container is started.

Source

pub fn with_network(self, network: impl Into<String>) -> Self

Connects this container to an additional Docker network after creation.

The primary network is always the container’s isolation group network. Each network added here is joined via docker network connect after the container is created but before it is started, so the container is reachable on all listed networks from the moment it runs.

Source

pub fn with_volume_mount( self, volume_name: impl Into<String>, container_path: impl AsRef<Path>, ) -> Self

Mounts a named Docker volume into the container at the given path.

Unlike with_bind_mount, this references a named Docker volume rather than a host filesystem path. The volume must already exist when the container starts. This is useful for mounting volumes that belong to other isolation groups: for example, a shared millstone container that needs to reach the DogStatsD sockets of both the baseline and comparison agent containers.

Source

pub fn with_exposed_port( self, protocol: &'static str, internal_port: u16, ) -> Self

Adds an exposed port to the container.

Exposed ports are ports mapped from inside the container to an ephemeral port on the host. The protocol should be either tcp or udp. A port on the host side is picked from the “local” port range. For example, on Linux the range is defined by /proc/sys/net/ipv4/ip_local_port_range.

When starting the driver via Driver::start, the ephemeral port mappings will be returned in DriverDetails.

Trait Implementations§

Source§

impl Clone for DriverConfig

Source§

fn clone(&self) -> DriverConfig

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

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> 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