func main() { flag.Parse() tricorder.RegisterFlags() if os.Geteuid() == 0 { fmt.Fprintln(os.Stderr, "Do not run the Image Server as root") os.Exit(1) } setupTls(*caFile, *certFile, *keyFile) circularBuffer := logbuf.New(*logbufLines) logger := log.New(circularBuffer, "", log.LstdFlags) objSrv, err := filesystem.NewObjectServer(*objectDir, logger) if err != nil { fmt.Fprintf(os.Stderr, "Cannot create ObjectServer\t%s\n", err) os.Exit(1) } imdb, err := scanner.LoadImageDataBase(*imageDir, objSrv, logger) if err != nil { fmt.Fprintf(os.Stderr, "Cannot load image database\t%s\n", err) os.Exit(1) } tricorder.RegisterMetric("/image-count", func() uint { return imdb.CountImages() }, units.None, "number of images") imageserverRpcd.Setup(imdb, logger) rpcHtmlWriter := objectserverRpcd.Setup(objSrv, logger) rpc.HandleHTTP() httpd.AddHtmlWriter(imdb) httpd.AddHtmlWriter(rpcHtmlWriter) httpd.AddHtmlWriter(circularBuffer) if err = httpd.StartServer(*portNum, imdb, false); err != nil { fmt.Fprintf(os.Stderr, "Unable to create http server\t%s\n", err) os.Exit(1) } }
func main() { flag.Parse() if os.Geteuid() == 0 { fmt.Println("Do not run the Image Server as root") os.Exit(1) } circularBuffer := logbuf.New(*logbufLines) logger := log.New(circularBuffer, "", log.LstdFlags) objSrv, err := filesystem.NewObjectServer(*objectDir, logger) if err != nil { fmt.Printf("Cannot create ObjectServer\t%s\n", err) os.Exit(1) } imdb, err := scanner.LoadImageDataBase(*imageDir, objSrv) if err != nil { fmt.Printf("Cannot load image database\t%s\n", err) os.Exit(1) } imageserverRpcd.Setup(imdb, logger) rpcHtmlWriter := objectserverRpcd.Setup(objSrv, logger) rpc.HandleHTTP() httpd.AddHtmlWriter(imdb) httpd.AddHtmlWriter(rpcHtmlWriter) httpd.AddHtmlWriter(circularBuffer) err = httpd.StartServer(*portNum, imdb, false) if err != nil { fmt.Printf("Unable to create http server\t%s\n", err) os.Exit(1) } }