tutti_core/supervisor/
commands.rs

1use tokio::sync::mpsc;
2use tutti_types::{Project, ProjectId};
3
4pub type UpResponse = mpsc::Sender<Result<(), ()>>;
5
6#[derive(Debug)]
7pub enum SupervisorCommand {
8    UpdateConfig {
9        project_id: ProjectId,
10        config: Project,
11    },
12    Up {
13        project_id: ProjectId,
14        services: Vec<String>,
15    },
16    Down {
17        project_id: ProjectId,
18    },
19    EndOfLogs {
20        project_id: ProjectId,
21        service: String,
22    },
23    HealthCheckSuccess {
24        project_id: ProjectId,
25        service: String,
26    },
27    // HealthCheckFailure {
28    //     project_id: ProjectId,
29    //     service: String,
30    // },
31}
32
33#[derive(Debug)]
34pub enum SupervisorEvent {
35    Log {
36        project_id: ProjectId,
37        service: String,
38        message: String,
39    },
40}