X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=main.go;h=0b2bfae0e9b4aaf1b1aa9089a62736951d630726;hb=8c86d8c04f668592ed072ec1cef5d0adff24aa43;hp=9d099dabd7a8901dbb23bdccfb834c61e778f84e;hpb=97fc96d8f8b5ac83ade0af269ccb98cb1a2abdf0;p=sysdb%2Fwebui.git diff --git a/main.go b/main.go index 9d099da..0b2bfae 100644 --- a/main.go +++ b/main.go @@ -32,31 +32,53 @@ import ( "log" "net/http" "os" + "os/user" "github.com/sysdb/go/client" "github.com/sysdb/webui/server" ) var ( - addr = flag.String("address", "/var/run/sysdbd.sock", "SysDB server address") - user = flag.String("user", "sysdb", "SysDB user name") + addr = flag.String("address", "/var/run/sysdbd.sock", "SysDB server address") + username *string listen = flag.String("listen", ":8080", "address to listen for incoming connections") tmpl = flag.String("template-path", "templates", "location of template files") static = flag.String("static-path", "static", "location of static files") ) +func init() { + u, err := user.Current() + var def string + if err != nil { + log.Printf("WARNING: Unable to determine current user: %v", err) + } else { + def = u.Username + } + + username = flag.String("user", def, "SysDB user name") +} + func main() { flag.Parse() log.Printf("Connecting to SysDB at %s.", *addr) - conn, err := client.Connect(*addr, *user) + var conns []*client.Conn + for i := 0; i < 10; i++ { + conn, err := client.Connect(*addr, *username) + if err != nil { + fatalf("Failed to connect to SysDB at %q: %v", *addr, err) + } + conns = append(conns, conn) + } + major, minor, patch, extra, err := conns[0].ServerVersion() if err != nil { - fatalf("Failed to connect to SysDB at %q: %v", *addr, err) + fatalf("Failed to query server version: %v", err) } + log.Printf("Connected to SysDB %d.%d.%d%s.", major, minor, patch, extra) srv, err := server.New(server.Config{ - Conn: conn, + Conns: conns, TemplatePath: *tmpl, StaticPath: *static, })