Crate podman_rest_client

source ·
Expand description

Provides an interface for querying the podman rest api. Most of the interface is generated from the the official podman swagger file. This crate adds a layer to make it possible to connect to the podman rest api over ssh to a unix socket and directl to a unix socket. Connections over ssh are commonly necessary on macOs where the container runtime runs in a virtual machine accessible over ssh.

§Usage

use podman_rest_client::PodmanRestClient;
use podman_rest_client::guess_configuration;

// Setup the default configuration
let config = guess_configuration().await.unwrap();

// Initialize a client
let client = PodmanRestClient::new(config).await.unwrap();

// Fetch a list of container images
let images = client.images_api().image_list_libpod(None,None).await.unwrap();

guess_configuration tries to find the default path to the podman socket depending on the platform you are on. You can also manually create clients configurations:

use podman_rest_client::PodmanRestClient;
use podman_rest_client::Config;

let ssh_client = PodmanRestClient::new(Config {
    uri: "ssh://core@127.0.0.1:63169/run/user/501/podman/podman.sock".to_string(),
    identity_file: Some("/path/to/identity_file".into()),
}).await.unwrap();

let unix_client = PodmanRestClient::new(Config {
    uri: "unix:///run/user/501/podman/podman.sock".to_string(),
    identity_file: None,
}).await.unwrap();

Modules§

Structs§

Enums§

Functions§