diff options
Diffstat (limited to 'cmd/web.go')
-rw-r--r-- | cmd/web.go | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -25,6 +25,7 @@ import ( "github.com/go-macaron/session" "github.com/go-macaron/toolbox" "github.com/mcuadros/go-version" + "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/urfave/cli" log "gopkg.in/clog.v1" "gopkg.in/macaron.v1" @@ -260,11 +261,11 @@ func runWeb(c *cli.Context) error { }) // ***** END: User ***** - adminReq := context.Toggle(&context.ToggleOptions{SignInRequired: true, AdminRequired: true}) + reqAdmin := context.Toggle(&context.ToggleOptions{SignInRequired: true, AdminRequired: true}) // ***** START: Admin ***** m.Group("/admin", func() { - m.Get("", adminReq, admin.Dashboard) + m.Get("", admin.Dashboard) m.Get("/config", admin.Config) m.Post("/config/test_mail", admin.SendTestMail) m.Get("/monitor", admin.Monitor) @@ -298,7 +299,7 @@ func runWeb(c *cli.Context) error { m.Post("/delete", admin.DeleteNotices) m.Get("/empty", admin.EmptyNotices) }) - }, adminReq) + }, reqAdmin) // ***** END: Admin ***** m.Group("", func() { @@ -659,6 +660,18 @@ func runWeb(c *cli.Context) error { apiv1.RegisterRoutes(m) }, ignSignIn) + m.Group("/-", func() { + if setting.Prometheus.Enabled { + m.Get("/metrics", func(c *context.Context) { + if !setting.Prometheus.EnableBasicAuth { + return + } + + c.RequireBasicAuth(setting.Prometheus.BasicAuthUsername, setting.Prometheus.BasicAuthPassword) + }, promhttp.Handler()) + } + }) + // robots.txt m.Get("/robots.txt", func(c *context.Context) { if setting.HasRobotsTxt { |