MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / connect_container_api

Function connect_container_api

e2e/rust/tests/driver_config_volume.rs:353–376  ·  view source on GitHub ↗
(driver: &str)

Source from the content-addressed store, hash-verified

351}
352
353async fn connect_container_api(driver: &str) -> Result<Docker, String> {
354 let docker = match driver {
355 "docker" => Docker::connect_with_local_defaults()
356 .map_err(|err| format!("connect to Docker API: {err}"))?,
357 "podman" => {
358 let socket = podman_socket_path();
359 let socket_display = socket.display().to_string();
360 Docker::connect_with_unix(
361 socket
362 .to_str()
363 .ok_or_else(|| format!("podman socket path is not UTF-8: {socket_display}"))?,
364 120,
365 bollard::API_DEFAULT_VERSION,
366 )
367 .map_err(|err| format!("connect to Podman Docker-compatible API: {err}"))?
368 }
369 other => return Err(format!("unsupported e2e driver for volume API: {other}")),
370 };
371 docker
372 .ping()
373 .await
374 .map_err(|err| format!("ping {driver} Docker-compatible API: {err}"))?;
375 Ok(docker)
376}
377
378fn podman_socket_path() -> PathBuf {
379 if let Some(path) = std::env::var_os("OPENSHELL_PODMAN_SOCKET") {

Callers 1

createMethod · 0.85

Calls 2

podman_socket_pathFunction · 0.70
pingMethod · 0.45

Tested by

no test coverage detected