tutti_core/supervisor/
commands.rs1use 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 Shutdown,
20 EndOfLogs {
21 project_id: ProjectId,
22 service: String,
23 },
24 HealthCheckSuccess {
25 project_id: ProjectId,
26 service: String,
27 },
28 }
33
34#[derive(Debug)]
35pub enum SupervisorEvent {
36 Log {
37 project_id: ProjectId,
38 service: String,
39 message: String,
40 },
41 ProjectStopped {
42 project_id: ProjectId,
43 },
44 Error {
45 project_id: ProjectId,
46 message: String,
47 },
48}