1use super::*;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct Service {
6 pub id: String,
7 pub name: String,
8 pub description: String,
9 pub image_id: String,
10 pub image_tag: String,
11 pub command: String,
12 pub args: Vec<String>,
13 pub privileged: bool,
14 pub volume_mounts: Vec<ServiceVolumeMount>,
15 pub env_vars: Vec<ServiceEnvVar>,
16}
17
18#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
19pub struct ServiceVolumeMount {
20 pub name: String,
21 pub service_id: String,
22 pub path: String,
23 pub size_gb: i32,
24}
25
26#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
27pub struct ServiceEnvVar {
28 pub key: String,
29 pub value: String,
30}
31
32#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
33pub struct ServiceStat {
34 pub name: String,
35 pub status: ContainerStatus,
36 pub reason: String,
37}