fluentci_types/
process_compose.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize)]
6pub struct DependencyConfig {
7    #[serde(skip_serializing_if = "Option::is_none")]
8    pub condition: Option<String>,
9}
10
11#[derive(Serialize, Deserialize, Default)]
12pub struct Process {
13    pub command: String,
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub is_daemon: Option<bool>,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub depends_on: Option<HashMap<String, DependencyConfig>>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub working_dir: Option<String>,
20}
21
22#[derive(Serialize, Deserialize, Default)]
23pub struct ConfigFile {
24    pub version: String,
25
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub environment: Option<Vec<String>>,
28
29    #[serde(skip_serializing_if = "Option::is_none")]
30    pub log_location: Option<String>,
31
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub log_level: Option<String>,
34
35    pub processes: HashMap<String, Process>,
36}