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  }