omni_orchestrator/schemas/v1/models/
deployment.rs

1// models/deployment.rs
2use serde::{Deserialize, Serialize};
3use chrono::{DateTime, Utc};
4
5#[derive(Debug, Serialize, Deserialize, Clone, sqlx::FromRow)]
6pub struct Deployment {
7    pub id: i64,
8    pub app_id: i64,
9    pub build_id: i64,
10    pub version: String,
11    pub status: String,
12    pub deployment_strategy: String,
13    pub previous_deployment_id: Option<i64>,
14    pub canary_percentage: Option<i64>,
15    pub staged_instances: Option<i64>,
16    pub total_instances: Option<i64>,
17    pub environment_variables: Option<serde_json::Value>,
18    pub annotations: Option<serde_json::Value>,
19    pub labels: Option<serde_json::Value>,
20    pub started_at: Option<DateTime<Utc>>,
21    pub completed_at: Option<DateTime<Utc>>,
22    pub deployment_duration: Option<i64>,
23    pub error_message: Option<String>,
24    pub created_at: DateTime<Utc>,
25    pub created_by: Option<i64>,
26}