aboutsummaryrefslogtreecommitdiff
path: root/cmd/web.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/web.go')
-rw-r--r--cmd/web.go19
1 files changed, 16 insertions, 3 deletions
diff --git a/cmd/web.go b/cmd/web.go
index cb17543c..6290e924 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -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 {