feat(controller): start, stop, restart, destroy and wipe commands #1
@@ -105,28 +105,15 @@ impl Controller {
|
||||
}
|
||||
|
||||
pub async fn start(&self) -> Result<()> {
|
||||
let instance = self.ctx.require_instance()?;
|
||||
let project = self.ctx.require_project()?;
|
||||
|
CleverWild marked this conversation as resolved
|
||||
|
||||
if self
|
||||
.ctx
|
||||
.docker
|
||||
.is_container_running_by_id(&instance.container_id)
|
||||
.await?
|
||||
{
|
||||
println!("{}", "Container is already running".yellow());
|
||||
return Ok(());
|
||||
}
|
||||
let reconciler = Reconciler { ctx: &self.ctx };
|
||||
|
||||
println!("{}", "Starting container...".cyan());
|
||||
self.ctx
|
||||
.docker
|
||||
.start_container_by_id(&instance.container_id)
|
||||
.await?;
|
||||
reconciler.reconcile(project).await?;
|
||||
println!(
|
||||
"{} {} {}",
|
||||
"✓".green().bold(),
|
||||
"Container".green(),
|
||||
"Container started".green(),
|
||||
project.container_name().yellow()
|
||||
);
|
||||
|
||||
@@ -163,14 +150,11 @@ impl Controller {
|
||||
}
|
||||
|
||||
pub async fn restart(&self) -> Result<()> {
|
||||
let instance = self.ctx.require_instance()?;
|
||||
let project = self.ctx.require_project()?;
|
||||
let reconciler = Reconciler { ctx: &self.ctx };
|
||||
|
||||
println!("{}", "Restarting container...".cyan());
|
||||
self.ctx
|
||||
.docker
|
||||
.restart_container(&instance.container_id, 10)
|
||||
.await?;
|
||||
reconciler.reconcile(project).await?;
|
||||
|
CleverWild marked this conversation as resolved
Outdated
Skipper
commented
Contrary to the intuition, you should stop container here before calling reconciler. Because if container is already running, it wouldn't do anything Contrary to the intuition, you should stop container here before calling reconciler. Because if container is already running, it wouldn't do anything
|
||||
println!(
|
||||
"{} {} {}",
|
||||
"✓".green().bold(),
|
||||
|
||||
Reference in New Issue
Block a user
check
Reconciler