wick_config/config/common/
host_definition.rs1#![allow(missing_docs)] use std::net::Ipv4Addr;
3
4use crate::config;
5
6#[derive(Debug, Clone, Default, derive_builder::Builder, property::Property, serde::Serialize)]
7#[property(get(public), set(public), mut(public, suffix = "_mut"))]
8#[builder(setter(into))]
9#[must_use]
10pub struct HostConfig {
12 #[builder(default)]
14 pub(crate) allow_latest: bool,
15
16 #[builder(default)]
18 #[serde(skip_serializing_if = "Vec::is_empty")]
19 pub(crate) insecure_registries: Vec<String>,
20
21 #[builder(setter(strip_option), default)]
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub(crate) rpc: Option<HttpConfig>,
25}
26
27#[derive(Debug, Default, Clone, derive_builder::Builder, property::Property, serde::Serialize)]
28#[builder(setter(into))]
29#[property(get(public), set(private), mut(public, suffix = "_mut"))]
30pub struct HttpConfig {
32 #[builder(default)]
34 pub(crate) enabled: bool,
35
36 #[builder(default)]
38 #[serde(skip_serializing_if = "Option::is_none")]
39 pub(crate) port: Option<u16>,
40
41 #[builder(default)]
43 #[serde(skip_serializing_if = "Option::is_none")]
44 pub(crate) address: Option<Ipv4Addr>,
45
46 #[builder(default)]
48 #[serde(skip_serializing_if = "Option::is_none")]
49 pub(crate) pem: Option<config::AssetReference>,
50
51 #[builder(default)]
53 #[serde(skip_serializing_if = "Option::is_none")]
54 pub(crate) key: Option<config::AssetReference>,
55
56 #[builder(default)]
58 #[serde(skip_serializing_if = "Option::is_none")]
59 pub(crate) ca: Option<config::AssetReference>,
60}