From d8f598c2ad7825caaacff06285b4f22e62163434 Mon Sep 17 00:00:00 2001 From: Anbraten Date: Sat, 3 Sep 2022 20:48:53 +0200 Subject: [PATCH] Only enable debug endpoints if log level is debug or below (#1160) --- server/router/api.go | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/server/router/api.go b/server/router/api.go index 83fdcc603..c3599f95d 100644 --- a/server/router/api.go +++ b/server/router/api.go @@ -16,6 +16,7 @@ package router import ( "github.com/gin-gonic/gin" + "github.com/rs/zerolog" "github.com/woodpecker-ci/woodpecker/server/api" "github.com/woodpecker-ci/woodpecker/server/api/debug" @@ -155,19 +156,21 @@ func apiRoutes(e *gin.Engine) { secrets.DELETE("/:secret", api.DeleteGlobalSecret) } - debugger := e.Group("/api/debug") - { - debugger.Use(session.MustAdmin()) - debugger.GET("/pprof/", debug.IndexHandler()) - debugger.GET("/pprof/heap", debug.HeapHandler()) - debugger.GET("/pprof/goroutine", debug.GoroutineHandler()) - debugger.GET("/pprof/block", debug.BlockHandler()) - debugger.GET("/pprof/threadcreate", debug.ThreadCreateHandler()) - debugger.GET("/pprof/cmdline", debug.CmdlineHandler()) - debugger.GET("/pprof/profile", debug.ProfileHandler()) - debugger.GET("/pprof/symbol", debug.SymbolHandler()) - debugger.POST("/pprof/symbol", debug.SymbolHandler()) - debugger.GET("/pprof/trace", debug.TraceHandler()) + if zerolog.GlobalLevel() <= zerolog.DebugLevel { + debugger := e.Group("/api/debug") + { + debugger.Use(session.MustAdmin()) + debugger.GET("/pprof/", debug.IndexHandler()) + debugger.GET("/pprof/heap", debug.HeapHandler()) + debugger.GET("/pprof/goroutine", debug.GoroutineHandler()) + debugger.GET("/pprof/block", debug.BlockHandler()) + debugger.GET("/pprof/threadcreate", debug.ThreadCreateHandler()) + debugger.GET("/pprof/cmdline", debug.CmdlineHandler()) + debugger.GET("/pprof/profile", debug.ProfileHandler()) + debugger.GET("/pprof/symbol", debug.SymbolHandler()) + debugger.POST("/pprof/symbol", debug.SymbolHandler()) + debugger.GET("/pprof/trace", debug.TraceHandler()) + } } logLevel := e.Group("/api/log-level")