Creating structure correctly

This commit is contained in:
Owen 2025-02-15 22:00:31 -05:00
parent 60449afca5
commit dabd4a055c
No known key found for this signature in database
GPG key ID: 8271FDFFD9E0CCBD
4 changed files with 35 additions and 21 deletions

View file

@ -164,7 +164,7 @@ func AddCrowdSecService(configPath string) error {
Image: "crowdsecurity/crowdsec:latest",
ContainerName: "crowdsec",
Environment: map[string]string{
"GID": "${GID-1000}",
"GID": "1000",
"COLLECTIONS": "crowdsecurity/traefik crowdsecurity/appsec-virtual-patching crowdsecurity/appsec-generic-rules",
"ENROLL_INSTANCE_NAME": "pangolin-crowdsec",
"PARSERS": "crowdsecurity/whitelists",

View file

@ -24,8 +24,8 @@ func installCrowdsec(config Config) error {
os.Exit(1)
}
moveFile("config/crowdsec/traefik_config.yaml", "config/traefik/traefik_config.yaml")
moveFile("config/crowdsec/dynamic.yaml", "config/traefik/dynamic.yaml")
// moveFile("config/crowdsec/traefik_config.yml", "config/traefik/traefik_config.yml")
moveFile("config/crowdsec/dynamic.yml", "config/traefik/dynamic.yml")
if err := retrieveBouncerKey(config); err != nil {
return fmt.Errorf("bouncer key retrieval failed: %v", err)

12
install/input.txt Normal file
View file

@ -0,0 +1,12 @@
example.com
pangolin.example.com
admin@example.com
yes
admin@example.com
Password123!
Password123!
yes
no
no
no
yes

View file

@ -140,22 +140,24 @@ func readString(reader *bufio.Reader, prompt string, defaultValue string) string
return input
}
func readPassword(prompt string) string {
fmt.Print(prompt + ": ")
// Read password without echo
password, err := term.ReadPassword(int(syscall.Stdin))
fmt.Println() // Add a newline since ReadPassword doesn't add one
if err != nil {
return ""
}
input := strings.TrimSpace(string(password))
if input == "" {
return readPassword(prompt)
}
return input
func readPassword(prompt string, reader *bufio.Reader) string {
if term.IsTerminal(int(syscall.Stdin)) {
fmt.Print(prompt + ": ")
// Read password without echo if we're in a terminal
password, err := term.ReadPassword(int(syscall.Stdin))
fmt.Println() // Add a newline since ReadPassword doesn't add one
if err != nil {
return ""
}
input := strings.TrimSpace(string(password))
if input == "" {
return readPassword(prompt, reader)
}
return input
} else {
// Fallback to reading from stdin if not in a terminal
return readString(reader, prompt, "")
}
}
func readBool(reader *bufio.Reader, prompt string, defaultValue bool) bool {
@ -196,8 +198,8 @@ func collectUserInput(reader *bufio.Reader) Config {
fmt.Println("\n=== Admin User Configuration ===")
config.AdminUserEmail = readString(reader, "Enter admin user email", "admin@"+config.BaseDomain)
for {
pass1 := readPassword("Create admin user password")
pass2 := readPassword("Confirm admin user password")
pass1 := readPassword("Create admin user password", reader)
pass2 := readPassword("Confirm admin user password", reader)
if pass1 != pass2 {
fmt.Println("Passwords do not match")