palladium_cli/commands/start/config/
schema.rs1use std::path::PathBuf;
2
3use serde::Deserialize;
4
5#[derive(Debug, Default, Deserialize)]
6#[serde(deny_unknown_fields)]
7pub struct StartFileConfig {
8 pub(crate) engine: Option<StartFileEngine>,
9 pub(crate) federation: Option<StartFileFederation>,
10 pub(crate) control_plane: Option<StartFileControlPlane>,
11 pub(crate) metadata: Option<StartFileMetadata>,
12}
13
14#[derive(Debug, Default, Deserialize)]
15#[serde(deny_unknown_fields)]
16pub(crate) struct StartFileEngine {
17 pub(crate) id: Option<String>,
18}
19
20#[derive(Debug, Default, Deserialize)]
21#[serde(deny_unknown_fields)]
22pub(crate) struct StartFileFederation {
23 pub(crate) enabled: Option<bool>,
24 pub(crate) bind_addr: Option<String>,
25 pub(crate) seed_nodes: Option<Vec<String>>,
26 pub(crate) gossip_interval_ms: Option<u64>,
27 pub(crate) suspect_timeout_ms: Option<u64>,
28 pub(crate) dead_timeout_ms: Option<u64>,
29 pub(crate) fanout: Option<usize>,
30 pub(crate) policy: Option<String>,
31 pub(crate) allow_prefixes: Option<Vec<String>>,
32 pub(crate) deny_prefixes: Option<Vec<String>>,
33}
34
35#[derive(Debug, Default, Deserialize)]
36#[serde(deny_unknown_fields)]
37pub(crate) struct StartFileControlPlane {
38 pub(crate) tcp_addr: Option<String>,
39 pub(crate) quic_addr: Option<String>,
40 pub(crate) tls_cert: Option<PathBuf>,
41 pub(crate) tls_key: Option<PathBuf>,
42 pub(crate) tls_ca: Option<PathBuf>,
43}
44
45#[derive(Debug, Default, Deserialize)]
46#[serde(deny_unknown_fields)]
47pub struct StartFileMetadata {
48 pub deploy_profile: Option<String>,
49 pub support_band: Option<String>,
50 pub operator_intent: Option<String>,
51 pub orchestration_mode: Option<String>,
52}