rushlink/cmd/rushlink/main.go

38 lines
969 B
Go
Raw Normal View History

2019-08-25 21:33:56 +02:00
package main
import (
"flag"
"log"
2019-11-09 15:50:12 +01:00
"gitea.hashru.nl/dsprenkels/rushlink"
2020-10-25 17:33:51 +01:00
"gitea.hashru.nl/dsprenkels/rushlink/internal/db"
2020-12-17 15:14:45 +01:00
"github.com/pkg/errors"
2019-08-25 21:33:56 +02:00
)
var (
2019-11-10 19:03:57 +01:00
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)")
2019-12-17 11:13:32 +01:00
rootURL = flag.String("root_url", "", "host root (example: 'https://example.com', uses an educated guess if omitted)")
)
2019-11-08 22:17:05 +01:00
func main() {
2019-08-25 21:33:56 +02:00
flag.Parse()
2020-10-25 17:33:51 +01:00
filestore, err := db.OpenFileStoreFromEnvironment()
if err != nil {
2019-11-10 19:03:57 +01:00
log.Fatalln(err)
}
2020-10-25 17:33:51 +01:00
database, err := db.OpenDBFromEnvironment()
if err != nil {
2019-09-19 21:29:25 +02:00
log.Fatalln(err)
2019-08-25 21:33:56 +02:00
}
2019-09-19 21:29:25 +02:00
2020-12-17 15:14:45 +01:00
migrate := db.Gormigrate(database)
if err := migrate.Migrate(); err != nil {
log.Fatal(errors.Wrap(err, "migrating database"))
}
go rushlink.StartMetricsServer(*metricsListen, database, filestore)
2019-12-17 11:13:32 +01:00
rushlink.StartMainServer(*httpListen, database, filestore, *rootURL)
2019-08-25 21:33:56 +02:00
}