woodpecker/drone/main.go

63 lines
1.1 KiB
Go
Raw Normal View History

2015-09-30 01:21:17 +00:00
package main
import (
2016-04-11 22:49:10 +00:00
"net/http"
2016-04-20 01:37:53 +00:00
"os"
2016-04-11 22:55:13 +00:00
"time"
2015-09-30 01:21:17 +00:00
"github.com/drone/drone/router"
2016-04-12 20:08:17 +00:00
"github.com/drone/drone/router/middleware"
2015-09-30 01:21:17 +00:00
"github.com/Sirupsen/logrus"
2016-04-11 22:55:13 +00:00
"github.com/gin-gonic/contrib/ginrus"
2016-04-11 22:49:10 +00:00
"github.com/ianschenck/envflag"
_ "github.com/joho/godotenv/autoload"
2015-09-30 01:21:17 +00:00
)
var (
2016-04-11 22:49:10 +00:00
addr = envflag.String("SERVER_ADDR", ":8000", "")
cert = envflag.String("SERVER_CERT", "", "")
key = envflag.String("SERVER_KEY", "", "")
debug = envflag.Bool("DEBUG", false, "")
2015-09-30 01:21:17 +00:00
)
func main() {
2016-04-20 01:37:53 +00:00
if os.Getenv("CANARY") == "true" {
main2()
return
}
2016-04-11 22:49:10 +00:00
envflag.Parse()
2015-09-30 01:21:17 +00:00
// debug level if requested by user
if *debug {
logrus.SetLevel(logrus.DebugLevel)
2016-04-11 23:03:54 +00:00
} else {
logrus.SetLevel(logrus.WarnLevel)
2015-09-30 01:21:17 +00:00
}
// setup the server and start the listener
2016-04-11 22:49:10 +00:00
handler := router.Load(
2016-04-11 22:55:13 +00:00
ginrus.Ginrus(logrus.StandardLogger(), time.RFC3339, true),
2016-04-12 20:08:17 +00:00
middleware.Version,
2016-04-20 01:37:53 +00:00
middleware.Queue(),
middleware.Stream(),
middleware.Bus(),
2016-04-12 20:08:17 +00:00
middleware.Cache(),
middleware.Store(),
middleware.Remote(),
middleware.Engine(),
2015-09-30 01:21:17 +00:00
)
2016-04-11 22:49:10 +00:00
if *cert != "" {
logrus.Fatal(
http.ListenAndServeTLS(*addr, *cert, *key, handler),
)
} else {
logrus.Fatal(
http.ListenAndServe(*addr, handler),
)
}
2015-09-30 01:21:17 +00:00
}