Code

Use the current username by default.
[sysdb/webui.git] / main.go
diff --git a/main.go b/main.go
index 9d099dabd7a8901dbb23bdccfb834c61e778f84e..e74ec554648a5c4ed974b2eab9842a78f793a005 100644 (file)
--- a/main.go
+++ b/main.go
@@ -32,31 +32,48 @@ 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)
-       if err != nil {
-               fatalf("Failed to connect to SysDB at %q: %v", *addr, err)
+       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)
        }
 
        srv, err := server.New(server.Config{
-               Conn:         conn,
+               Conns:        conns,
                TemplatePath: *tmpl,
                StaticPath:   *static,
        })