use crate::engine::{DockerClient, inventory_cache::DockerCache};
use crate::features::deploy::queue::DeployQueue;
use crate::platform::{event_bus::EventBus, secrets::SecretsManager};
use crate::store::Db;
use std::{
collections::HashSet,
path::PathBuf,
sync::{Arc, Mutex},
};
#[derive(Clone)]
pub struct MaintenanceContext {
pub db: Arc<Db>,
pub docker: Arc<DockerClient>,
pub bus: Arc<EventBus>,
pub docker_cache: Arc<DockerCache>,
pub deploy_queue: Arc<DeployQueue>,
pub secrets: Arc<SecretsManager>,
pub db_path: PathBuf,
pub warming_services: Arc<Mutex<HashSet<String>>>,
}