38 lines
969 B
Go
38 lines
969 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
|
|
"gitea.hashru.nl/dsprenkels/rushlink"
|
|
"gitea.hashru.nl/dsprenkels/rushlink/internal/db"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
var (
|
|
httpListen = flag.String("listen", "127.0.0.1:8000", "listen address (host:port)")
|
|
metricsListen = flag.String("metrics_listen", "127.0.0.1:58614", "listen address for metrics (host:port)")
|
|
rootURL = flag.String("root_url", "", "host root (example: 'https://example.com', uses an educated guess if omitted)")
|
|
)
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
|
|
filestore, err := db.OpenFileStoreFromEnvironment()
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
database, err := db.OpenDBFromEnvironment()
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
|
|
migrate := db.Gormigrate(database)
|
|
if err := migrate.Migrate(); err != nil {
|
|
log.Fatal(errors.Wrap(err, "migrating database"))
|
|
}
|
|
|
|
go rushlink.StartMetricsServer(*metricsListen, database, filestore)
|
|
rushlink.StartMainServer(*httpListen, database, filestore, *rootURL)
|
|
}
|