feat(controller): start, stop, restart, destroy and wipe commands #1

Merged
Skipper merged 3 commits from impl-commands into main 2025-12-12 12:34:30 +00:00
Showing only changes of commit 5d215fff8e - Show all commits

View File

@@ -150,10 +150,25 @@ 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());
CleverWild marked this conversation as resolved Outdated

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
// Stop container first if it's running, otherwise reconciler won't do anything
if self
.ctx
.docker
.is_container_running_by_id(&instance.container_id)
.await?
{
self.ctx
.docker
.stop_container(&instance.container_id, 10)
.await?;
}
reconciler.reconcile(project).await?;
println!(
"{} {} {}",