module_orchestrator/domain/
model.rs1use std::collections::HashMap;
2use uuid::Uuid;
3
4use modkit::runtime::InstanceState;
5use modkit_macros::domain_model;
6
7#[domain_model]
9#[derive(Debug, Clone, PartialEq, Eq)]
10pub enum DeploymentMode {
11 CompiledIn,
12 OutOfProcess,
13}
14
15#[domain_model]
17#[derive(Debug, Clone)]
18pub struct ModuleInfo {
19 pub name: String,
20 pub capabilities: Vec<String>,
21 pub dependencies: Vec<String>,
22 pub deployment_mode: DeploymentMode,
23 pub instances: Vec<InstanceInfo>,
24}
25
26#[domain_model]
28#[derive(Debug, Clone)]
29pub struct InstanceInfo {
30 pub instance_id: Uuid,
31 pub version: Option<String>,
32 pub state: InstanceState,
33 pub grpc_services: HashMap<String, String>,
34}