summaryrefslogtreecommitdiffstats
path: root/src/config/docker_config.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/docker_config.rs')
-rw-r--r--src/config/docker_config.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/config/docker_config.rs b/src/config/docker_config.rs
new file mode 100644
index 0000000..fcc605f
--- /dev/null
+++ b/src/config/docker_config.rs
@@ -0,0 +1,42 @@
+use getset::{CopyGetters, Getters};
+use serde::Deserialize;
+
+use crate::config::Endpoint;
+use crate::util::docker::ImageName;
+
+#[derive(Debug, Getters, CopyGetters, Deserialize)]
+pub struct DockerConfig {
+ /// The required docker version
+ ///
+ /// If not set, it will not be checked, which might result in weird things?
+ ///
+ /// # Note
+ ///
+ /// Because the docker API returns strings, not a version object, each compatible version must
+ /// be listed.
+ #[getset(get = "pub")]
+ docker_versions: Option<Vec<String>>,
+
+ /// The required docker api version
+ ///
+ /// If not set, it will not be checked, which might result in weird things?
+ ///
+ /// # Note
+ ///
+ /// Because the docker API returns strings, not a version object, each compatible version must
+ /// be listed.
+ #[getset(get = "pub")]
+ docker_api_versions: Option<Vec<String>>,
+
+ /// Whether the program should verify that the required images are present.
+ /// You want this to be true normally.
+ #[getset(get_copy = "pub")]
+ verify_images_present: bool,
+
+ #[getset(get = "pub")]
+ images: Vec<ImageName>,
+
+ #[getset(get = "pub")]
+ endpoints: Vec<Endpoint>,
+}
+