use std::path::Path;
pub trait DeployProgress: Send + Sync {
fn event(&self, event: &DeployEvent<'_>);
}
#[derive(Debug, Clone, Copy)]
pub enum DeployEvent<'a> {
ArtifactsResolved {
tenant_name: &'a str,
binary: &'a Path,
dockerfile: &'a Path,
},
RegistryAuthStarted,
RegistryAuthFinished,
ImageResolved {
image: &'a str,
},
BuildStarted,
BuildFinished,
PushSkipped,
PushStarted,
PushFinished,
SecretsPhaseStarted,
SecretsFileMissing,
SecretsSyncStarted,
SecretsSynced {
count: usize,
},
CredentialsSyncStarted,
CredentialsSynced {
count: usize,
},
ProfilePathConfigured,
DeployStarted,
Deployed {
status: &'a str,
app_url: Option<&'a str>,
},
}