From e3e24e514f93e39925606dd08da371cdb9192cd8 Mon Sep 17 00:00:00 2001 From: "Rodrigo Rodriguez (Pragmatismo)" Date: Thu, 18 Dec 2025 21:20:47 -0300 Subject: [PATCH] fix: make container installation fully non-interactive - Add automatic lxd init --auto before container creation - Use DEBIAN_FRONTEND=noninteractive for apt-get - Add apt-get update -qq before installing packages --- src/core/package_manager/facade.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/core/package_manager/facade.rs b/src/core/package_manager/facade.rs index 8fb91f96..ebc85ca1 100644 --- a/src/core/package_manager/facade.rs +++ b/src/core/package_manager/facade.rs @@ -124,6 +124,9 @@ impl PackageManager { pub fn install_container(&self, component: &ComponentConfig) -> Result<()> { let container_name = format!("{}-{}", self.tenant, component.name); + // Ensure LXD is initialized (runs silently if already initialized) + let _ = Command::new("lxd").args(&["init", "--auto"]).output(); + // Try multiple image sources in case one is unavailable let images = [ "ubuntu:24.04", @@ -191,7 +194,14 @@ impl PackageManager { }; if !packages.is_empty() { let pkg_list = packages.join(" "); - self.exec_in_container(&container_name, &format!("apt-get install -y {}", pkg_list))?; + self.exec_in_container(&container_name, "apt-get update -qq")?; + self.exec_in_container( + &container_name, + &format!( + "DEBIAN_FRONTEND=noninteractive apt-get install -y -qq {}", + pkg_list + ), + )?; } if let Some(url) = &component.download_url { self.download_in_container(