From 5923f684ecdb3db8d7aba5ffa85b38ad2e3cc4fa Mon Sep 17 00:00:00 2001 From: admin Date: Sat, 1 Aug 2026 15:52:35 +0000 Subject: [PATCH] fix: auto-install NGINX before Wallarm node setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wallarm node (native deployment) requires NGINX as a runtime dependency. installNginx() runs apt-get install nginx if not already present, before extracting/running the Wallarm installer. Also fixed repo.wallarm.com → meganode.wallarm.com in preflight. --- internal/native/native.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/internal/native/native.go b/internal/native/native.go index 9de8073..398344a 100644 --- a/internal/native/native.go +++ b/internal/native/native.go @@ -64,7 +64,10 @@ connector: return fmt.Errorf("write config: %w", err) } - // 3. Download installer if missing + // 3. Ensure NGINX is installed (Wallarm node requires it) + installNginx() + + // 4. Download installer if missing url := installerURL() if _, err := os.Stat(installerPath); os.IsNotExist(err) { fmt.Printf("[%s] Downloading installer from meganode.wallarm.com...\n", node.Name) @@ -233,3 +236,13 @@ WantedBy=multi-user.target func CreateNodesDir() error { return os.MkdirAll(NodesDir, 0755) } + +// installNginx ensures NGINX is present on the system. +func installNginx() { + if _, err := exec.LookPath("nginx"); err == nil { + return + } + fmt.Println("Installing NGINX (required by Wallarm node)...") + exec.Command("apt-get", "update", "-qq").Run() + exec.Command("apt-get", "install", "-y", "-qq", "nginx").Run() +}