From 473bce856d4d864875caa6786a4185bbe15802d2 Mon Sep 17 00:00:00 2001 From: Siddharth Bansal Date: Mon, 20 Apr 2026 21:36:42 +0530 Subject: [PATCH] Pass installdir as a parameter --- install/crowdsec.go | 17 +++-------------- install/main.go | 2 +- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/install/crowdsec.go b/install/crowdsec.go index d2817a76c..8dff42d99 100644 --- a/install/crowdsec.go +++ b/install/crowdsec.go @@ -12,7 +12,7 @@ import ( "gopkg.in/yaml.v3" ) -func installCrowdsec(config Config) error { +func installCrowdsec(config Config, installDir string) error { if err := stopContainers(config.InstallationContainerType); err != nil { return fmt.Errorf("failed to stop containers: %v", err) @@ -41,7 +41,7 @@ func installCrowdsec(config Config) error { os.Exit(1) } - setupTraefikLogRotate() + setupTraefikLogRotate(installDir) if err := copyDockerService("config/crowdsec/docker-compose.yml", "docker-compose.yml", "crowdsec"); err != nil { fmt.Printf("Error copying docker service: %v\n", err) @@ -219,21 +219,10 @@ func CheckAndAddCrowdsecDependency(composePath string) error { // copytruncate is used so Traefik does not need to be restarted or sent a // signal after rotation — it keeps writing to the same file descriptor while // the rotated copy is made and the original is truncated in place. -func setupTraefikLogRotate() { +func setupTraefikLogRotate(installDir string) { const logrotateDir = "/etc/logrotate.d" const logrotateFile = "/etc/logrotate.d/pangolin-traefik" - // Resolve the absolute path to the install directory so the logrotate - // config references the correct log file regardless of where the user - // installed Pangolin. - installDir, err := filepath.Abs(".") - if err != nil { - fmt.Printf("[logrotate] Warning: could not resolve install directory: %v\n", err) - fmt.Println("[logrotate] Skipping logrotate setup. Set it up manually:") - printLogrotateConfig("/config/traefik/logs/access.log") - return - } - logPath := filepath.Join(installDir, "config/traefik/logs/access.log") if os.Geteuid() != 0 { diff --git a/install/main.go b/install/main.go index a38d78fc6..13e506d06 100644 --- a/install/main.go +++ b/install/main.go @@ -259,7 +259,7 @@ func main() { } config.DoCrowdsecInstall = true - err := installCrowdsec(config) + err := installCrowdsec(config, installDir) if err != nil { fmt.Printf("Error installing CrowdSec: %v\n", err) return