locket 0.17.3

Helper tool for secret injection as a process dependency
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use super::error::PluginError;
use super::types::{DockerOptions, MountId, VolumeName};
use async_trait::async_trait;
use std::path::PathBuf;

#[async_trait]
pub trait VolumeDriver: Send + Sync {
    async fn create(&self, name: VolumeName, opts: DockerOptions) -> Result<(), PluginError>;
    async fn remove(&self, name: &VolumeName) -> Result<(), PluginError>;
    async fn mount(&self, name: &VolumeName, id: &MountId) -> Result<PathBuf, PluginError>;
    async fn unmount(&self, name: &VolumeName, id: &MountId) -> Result<(), PluginError>;
    async fn path(&self, name: &VolumeName) -> Result<PathBuf, PluginError>;
    async fn list(&self) -> Result<Vec<super::api::VolumeInfo>, PluginError>;
    async fn get(&self, name: &VolumeName) -> Result<Option<super::api::VolumeInfo>, PluginError>;
}