pub struct CompositeRuntime { /* private fields */ }Expand description
Routes each container to either the primary runtime or an optional delegate.
See the module-level documentation for the dispatch rules.
Implementations§
Source§impl CompositeRuntime
impl CompositeRuntime
Sourcepub fn new(
primary: Arc<dyn Runtime>,
delegate: Option<Arc<dyn Runtime>>,
) -> Self
pub fn new( primary: Arc<dyn Runtime>, delegate: Option<Arc<dyn Runtime>>, ) -> Self
Construct a new composite runtime.
primary handles containers whose platform matches the host node.
delegate, when present, handles foreign-OS containers (currently:
Linux containers on a Windows host via the WSL2 delegate runtime).
Trait Implementations§
Source§impl Runtime for CompositeRuntime
impl Runtime for CompositeRuntime
Source§fn pull_image<'life0, 'life1, 'async_trait>(
&'life0 self,
image: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn pull_image<'life0, 'life1, 'async_trait>(
&'life0 self,
image: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Pull an image to local storage
Source§fn pull_image_with_policy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
image: &'life1 str,
policy: PullPolicy,
auth: Option<&'life2 RegistryAuth>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn pull_image_with_policy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
image: &'life1 str,
policy: PullPolicy,
auth: Option<&'life2 RegistryAuth>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Pull an image to local storage with a specific policy. Read more
Source§fn create_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
spec: &'life2 ServiceSpec,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
spec: &'life2 ServiceSpec,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create a container
Source§fn start_container<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn start_container<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Start a container
Source§fn stop_container<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stop_container<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stop a container
Source§fn remove_container<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_container<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove a container
Source§fn container_state<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<ContainerState>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn container_state<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<ContainerState>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get container state
Source§fn container_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
tail: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<LogEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn container_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
tail: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<LogEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get container logs as structured entries
Source§fn exec<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
cmd: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<(i32, String, String)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn exec<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
cmd: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<(i32, String, String)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute command in container
Source§fn exec_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
cmd: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<ExecEventStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn exec_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
cmd: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<ExecEventStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a command in a container and stream stdout / stderr / exit
events as they are produced. Read more
Source§fn get_container_stats<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<ContainerStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_container_stats<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<ContainerStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get container resource statistics from cgroups Read more
Source§fn wait_container<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<i32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn wait_container<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<i32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Wait for a container to exit and return its exit code Read more
Source§fn wait_outcome<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<WaitOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn wait_outcome<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<WaitOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Wait for a container to exit and return a
WaitOutcome with richer
classification (exit code + reason + signal + finished_at timestamp). Read moreSource§fn wait_outcome_with_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
condition: WaitCondition,
) -> Pin<Box<dyn Future<Output = Result<WaitOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn wait_outcome_with_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
condition: WaitCondition,
) -> Pin<Box<dyn Future<Output = Result<WaitOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn rename_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
new_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn rename_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
new_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Rename a container. Mirrors Docker’s
POST /containers/{id}/rename?name=<new> endpoint. Read moreSource§fn get_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Vec<LogEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Vec<LogEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get container logs (stdout/stderr combined) Read more
Source§fn get_container_pid<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Option<u32>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_container_pid<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Option<u32>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the PID of a container’s main process Read more
Source§fn get_container_ip<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Option<IpAddr>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_container_ip<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Option<IpAddr>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the IP address of a container Read more
Source§fn get_container_port_override<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Option<u16>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_container_port_override<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Option<u16>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a runtime-assigned port override for a container. Read more
Source§fn sync_container_volumes<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sync_container_volumes<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sync all named volumes associated with this container to S3. Read more
Source§fn list_images<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ImageInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_images<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ImageInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
List all images managed by this runtime’s image storage. Read more
Source§fn remove_image<'life0, 'life1, 'async_trait>(
&'life0 self,
image: &'life1 str,
force: bool,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_image<'life0, 'life1, 'async_trait>(
&'life0 self,
image: &'life1 str,
force: bool,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove an image by reference from local storage. Read more
Source§fn prune_images<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PruneResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prune_images<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PruneResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Prune dangling / unused images from local storage. Read more
Source§fn kill_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
signal: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn kill_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
signal: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Send a signal to a running container. Read more
Source§fn tag_image<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
source: &'life1 str,
target: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn tag_image<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
source: &'life1 str,
target: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create a new tag pointing at an existing image. Read more
Source§fn inspect_detailed<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<ContainerInspectDetails>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn inspect_detailed<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<ContainerInspectDetails>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return rich inspect details for a container: published ports, attached
networks, first IPv4, health, and most-recent exit code. Read more
Source§fn exec_pty<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_opts: ExecOptions,
) -> Pin<Box<dyn Future<Output = Result<ExecHandle>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn exec_pty<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_opts: ExecOptions,
) -> Pin<Box<dyn Future<Output = Result<ExecHandle>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Start an interactive exec session against a container, returning an
ExecHandle the caller drives concurrently with the running process. Read moreSource§fn logs_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_opts: LogsStreamOptions,
) -> Pin<Box<dyn Future<Output = Result<LogsStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn logs_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_opts: LogsStreamOptions,
) -> Pin<Box<dyn Future<Output = Result<LogsStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stream container logs as raw byte chunks tagged with their channel. Read more
Source§fn stats_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<StatsStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stats_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<StatsStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stream periodic resource-usage samples for a container. Read more
Source§fn pull_image_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_image: &'life1 str,
_auth: Option<&'life2 RegistryAuth>,
) -> Pin<Box<dyn Future<Output = Result<PullProgressStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn pull_image_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_image: &'life1 str,
_auth: Option<&'life2 RegistryAuth>,
) -> Pin<Box<dyn Future<Output = Result<PullProgressStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Pull an image, streaming progress events as layers are downloaded. Read more
Source§fn inspect_image_native<'life0, 'life1, 'async_trait>(
&'life0 self,
_image: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ImageInspectInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn inspect_image_native<'life0, 'life1, 'async_trait>(
&'life0 self,
_image: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ImageInspectInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Inspect an image and return a Docker-shaped detail record. Read more
Source§fn image_history<'life0, 'life1, 'async_trait>(
&'life0 self,
_image: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<ImageHistoryEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn image_history<'life0, 'life1, 'async_trait>(
&'life0 self,
_image: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<ImageHistoryEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return the parent-layer history for an image. Read more
Source§fn search_images<'life0, 'life1, 'async_trait>(
&'life0 self,
_term: &'life1 str,
_limit: u32,
) -> Pin<Box<dyn Future<Output = Result<Vec<ImageSearchResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn search_images<'life0, 'life1, 'async_trait>(
&'life0 self,
_term: &'life1 str,
_limit: u32,
) -> Pin<Box<dyn Future<Output = Result<Vec<ImageSearchResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Search a registry for images matching
term. Read moreSource§fn save_images<'life0, 'life1, 'async_trait>(
&'life0 self,
_names: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<ImageExportStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn save_images<'life0, 'life1, 'async_trait>(
&'life0 self,
_names: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<ImageExportStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stream a tar archive containing one or more images. Read more
Source§fn load_images<'life0, 'async_trait>(
&'life0 self,
_tar_bytes: Bytes,
_quiet: bool,
) -> Pin<Box<dyn Future<Output = Result<LoadProgressStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_images<'life0, 'async_trait>(
&'life0 self,
_tar_bytes: Bytes,
_quiet: bool,
) -> Pin<Box<dyn Future<Output = Result<LoadProgressStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Load images from a tar archive. Read more
Source§fn import_image<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_tar_bytes: Bytes,
_repo: Option<&'life1 str>,
_tag: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn import_image<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_tar_bytes: Bytes,
_repo: Option<&'life1 str>,
_tag: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Import a single image from a tar root filesystem. Read more
Source§fn export_container_fs<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<ImageExportStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn export_container_fs<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<ImageExportStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stream a tar archive of the container’s filesystem. Read more
Source§fn commit_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_opts: &'life2 CommitOptions,
) -> Pin<Box<dyn Future<Output = Result<CommitOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn commit_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_opts: &'life2 CommitOptions,
) -> Pin<Box<dyn Future<Output = Result<CommitOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Commit a container’s filesystem state to a new image. Read more
Source§fn pause_container<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn pause_container<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Pause all processes in the container by freezing its cgroup. Read more
Source§fn unpause_container<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn unpause_container<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Resume a previously-paused container by thawing its cgroup freezer. Read more
Source§fn update_container_resources<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_update: &'life2 ContainerResourceUpdate,
) -> Pin<Box<dyn Future<Output = Result<ContainerUpdateOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_container_resources<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_update: &'life2 ContainerResourceUpdate,
) -> Pin<Box<dyn Future<Output = Result<ContainerUpdateOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Update a running container’s resource limits and restart policy. Read more
Source§fn top_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_ps_args: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<ContainerTopOutput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn top_container<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_ps_args: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<ContainerTopOutput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
List the processes running inside a container (
docker top). Read moreSource§fn changes_container<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Vec<FilesystemChangeEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn changes_container<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Vec<FilesystemChangeEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Report changes to a container’s filesystem since it was created. Read more
Source§fn port_mappings_container<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Vec<PortMappingEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn port_mappings_container<'life0, 'life1, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
) -> Pin<Box<dyn Future<Output = Result<Vec<PortMappingEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Report the published port mappings for a container. Read more
Source§fn prune_containers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ContainerPruneResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prune_containers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ContainerPruneResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Prune stopped containers from the runtime. Read more
Source§fn list_containers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RuntimeContainerSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_containers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RuntimeContainerSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Enumerate all containers known to this runtime, including stopped /
exited ones (Docker’s
list_containers(all=true) semantics). Read moreSource§fn archive_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_path: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<ArchiveStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn archive_get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_path: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<ArchiveStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Stream a TAR archive of the file or directory at
path inside the
container. Read moreSource§fn archive_put<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_path: &'life2 str,
_tar_bytes: Bytes,
_opts: ArchivePutOptions,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn archive_put<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_path: &'life2 str,
_tar_bytes: Bytes,
_opts: ArchivePutOptions,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Extract a TAR archive into the container at
path. Read moreSource§fn archive_head<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_path: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<PathStat>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn archive_head<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 ContainerId,
_path: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<PathStat>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return stat metadata for the file or directory at
path inside the
container. Read moreAuto Trait Implementations§
impl Freeze for CompositeRuntime
impl !RefUnwindSafe for CompositeRuntime
impl Send for CompositeRuntime
impl Sync for CompositeRuntime
impl Unpin for CompositeRuntime
impl UnsafeUnpin for CompositeRuntime
impl !UnwindSafe for CompositeRuntime
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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>
Wrap the input message
T in a tonic::RequestSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
Propagate a header from the request to the response. Read more
Source§fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
Add some shareable value to request extensions. Read more
Source§fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
Apply a transformation to the request body. Read more
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn compression(self) -> Compression<Self>where
Self: Sized,
fn compression(self) -> Compression<Self>where
Self: Sized,
Compresses response bodies. Read more
Source§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
Decompress response bodies. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more
Source§fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
Source§fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>where
Self: Sized,
fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>where
Self: Sized,
Source§fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
Source§fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
Source§fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
Insert a header into the request. Read more
Source§fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
Append a header into the request. Read more
Source§fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
Insert a header into the request, if the header is not already present. Read more
Source§fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
Insert a header into the response. Read more
Source§fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
Append a header into the response. Read more
Source§fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
Insert a header into the response, if the header is not already present. Read more
Source§fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Add request id header and extension. Read more
Source§fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Add request id header and extension, using
x-request-id as the header name. Read moreSource§fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
Propgate request ids from requests to responses. Read more
Source§fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
Propgate request ids from requests to responses, using
x-request-id as the header name. Read moreSource§fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
Catch panics and convert them into
500 Internal Server responses. Read moreSource§fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
Intercept requests with over-sized payloads and convert them into
413 Payload Too Large responses. Read moreSource§fn trim_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
fn trim_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
Remove trailing slashes from paths. Read more
Source§fn append_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
fn append_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
Append trailing slash to paths. Read more