github.com/google/fleetspeak@v0.1.15-0.20240426164851-4f31f62c1aea/terraform/fleetspeak_configurator/build_configs.go (about) 1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 "io/ioutil" 7 "os" 8 "strings" 9 10 "github.com/google/fleetspeak/fleetspeak/src/e2etesting/setup" 11 ) 12 13 var ( 14 configDir = flag.String("config_dir", "", "Directory to put config files") 15 numClients = flag.Int("num_clients", 1, "Number of clients") 16 serversFile = flag.String("servers_file", "", "File with server hosts") 17 serverFrontendAddress = flag.String("frontend_address", "", "Frontend address for clients to connect") 18 mysqlAddress = flag.String("mysql_address", "", "MySQL server address") 19 mysqlDatabase = flag.String("mysql_database", "", "MySQL database name to use") 20 mysqlUsername = flag.String("mysql_username", "", "MySQL username to use") 21 mysqlPassword = flag.String("mysql_password", "", "MySQL password to use") 22 ) 23 24 func run() error { 25 dat, err := ioutil.ReadFile(*serversFile) 26 if err != nil { 27 return fmt.Errorf("Failed to read serversFile: %v", err) 28 } 29 serverHosts := strings.Fields(string(dat)) 30 31 err = setup.BuildConfigurations(*configDir, serverHosts, *serverFrontendAddress, *numClients, 32 setup.MysqlCredentials{ 33 Host: *mysqlAddress, 34 Password: *mysqlPassword, 35 Username: *mysqlUsername, 36 Database: *mysqlDatabase, 37 }) 38 if err != nil { 39 return fmt.Errorf("Failed to build configs: %v", err) 40 } 41 42 return nil 43 } 44 45 func main() { 46 flag.Parse() 47 err := run() 48 if err != nil { 49 fmt.Println(err) 50 os.Exit(1) 51 } 52 }