diff --git a/install/main.go b/install/main.go index 1f7213a1..0b791959 100644 --- a/install/main.go +++ b/install/main.go @@ -10,6 +10,7 @@ import ( "math/rand" "net" "net/http" + "net/url" "os" "os/exec" "path/filepath" @@ -21,9 +22,9 @@ import ( // DO NOT EDIT THIS FUNCTION; IT MATCHED BY REGEX IN CICD func loadVersions(config *Config) { - config.PangolinVersion = "1.9.4" - config.GerbilVersion = "1.2.1" - config.BadgerVersion = "1.2.0" + config.PangolinVersion = "replaceme" + config.GerbilVersion = "replaceme" + config.BadgerVersion = "replaceme" } //go:embed config/* @@ -48,9 +49,9 @@ type Config struct { TraefikBouncerKey string DoCrowdsecInstall bool Secret string - HybridMode bool - HybridId string - HybridSecret string + HybridMode bool + HybridId string + HybridSecret string } type SupportedContainer string @@ -190,7 +191,13 @@ func main() { return } - config.DashboardDomain = appConfig.DashboardURL + parsedURL, err := url.Parse(appConfig.DashboardURL) + if err != nil { + fmt.Printf("Error parsing URL: %v\n", err) + return + } + + config.DashboardDomain = parsedURL.Hostname() config.LetsEncryptEmail = traefikConfig.LetsEncryptEmail config.BadgerVersion = traefikConfig.BadgerVersion @@ -205,17 +212,17 @@ func main() { } } - config.InstallationContainerType = podmanOrDocker(reader) + config.InstallationContainerType = podmanOrDocker(reader) config.DoCrowdsecInstall = true - err := installCrowdsec(config) - if (err != nil) { - fmt.Printf("Error installing CrowdSec: %v\n", err) - return - } + err := installCrowdsec(config) + if err != nil { + fmt.Printf("Error installing CrowdSec: %v\n", err) + return + } - fmt.Println("CrowdSec installed successfully!") - return + fmt.Println("CrowdSec installed successfully!") + return } } } @@ -537,12 +544,12 @@ func printSetupToken(containerType SupportedContainer, dashboardDomain string) { tokenStart := strings.Index(trimmedLine, "Token:") if tokenStart != -1 { token := strings.TrimSpace(trimmedLine[tokenStart+6:]) - fmt.Printf("Setup token: %s\n", token) - fmt.Println("") - fmt.Println("This token is required to register the first admin account in the web UI at:") - fmt.Printf("https://%s/auth/initial-setup\n", dashboardDomain) - fmt.Println("") - fmt.Println("Save this token securely. It will be invalid after the first admin is created.") + fmt.Printf("Setup token: %s\n", token) + fmt.Println("") + fmt.Println("This token is required to register the first admin account in the web UI at:") + fmt.Printf("https://%s/auth/initial-setup\n", dashboardDomain) + fmt.Println("") + fmt.Println("Save this token securely. It will be invalid after the first admin is created.") return } } @@ -634,21 +641,21 @@ func run(name string, args ...string) error { } func checkPortsAvailable(port int) error { - addr := fmt.Sprintf(":%d", port) - ln, err := net.Listen("tcp", addr) - if err != nil { - return fmt.Errorf( - "ERROR: port %d is occupied or cannot be bound: %w\n\n", - port, err, - ) - } - if closeErr := ln.Close(); closeErr != nil { - fmt.Fprintf(os.Stderr, - "WARNING: failed to close test listener on port %d: %v\n", - port, closeErr, - ) - } - return nil + addr := fmt.Sprintf(":%d", port) + ln, err := net.Listen("tcp", addr) + if err != nil { + return fmt.Errorf( + "ERROR: port %d is occupied or cannot be bound: %w\n\n", + port, err, + ) + } + if closeErr := ln.Close(); closeErr != nil { + fmt.Fprintf(os.Stderr, + "WARNING: failed to close test listener on port %d: %v\n", + port, closeErr, + ) + } + return nil } func checkIsPangolinInstalledWithHybrid() bool {