diff --git a/LICENSES b/LICENSES index 3c97ed4ec..78d64f2e8 100644 --- a/LICENSES +++ b/LICENSES @@ -5996,41 +5996,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================================================ -================================================================================ -= vendor/github.com/gorilla/mux licensed under: = - -Copyright (c) 2012-2018 The Gorilla Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -= vendor/github.com/gorilla/mux/LICENSE 33fa1116c45f9e8de714033f99edde13 -================================================================================ - - ================================================================================ = vendor/github.com/gregjones/httpcache licensed under: = diff --git a/go.mod b/go.mod index cf420551b..a446a5fb9 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,6 @@ require ( github.com/go-logr/zapr v0.1.1 // indirect github.com/google/go-cmp v0.4.1 // indirect github.com/google/gofuzz v1.2.0 - github.com/gorilla/mux v1.8.0 github.com/hashicorp/vault/api v1.0.4 github.com/hashicorp/vault/sdk v0.1.13 github.com/kr/pretty v0.2.1 diff --git a/go.sum b/go.sum index 6e2c4c72e..9b537de2a 100644 --- a/go.sum +++ b/go.sum @@ -334,8 +334,6 @@ github.com/gophercloud/gophercloud v0.1.0 h1:P/nh25+rzXouhytV2pUHBb65fnds26Ghl8/ github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= diff --git a/pkg/metrics/BUILD.bazel b/pkg/metrics/BUILD.bazel index 11d321be2..08b73faf3 100644 --- a/pkg/metrics/BUILD.bazel +++ b/pkg/metrics/BUILD.bazel @@ -13,8 +13,8 @@ go_library( "//pkg/apis/certmanager/v1:go_default_library", "//pkg/apis/meta/v1:go_default_library", "//pkg/logs:go_default_library", + "//pkg/util/profiling:go_default_library", "@com_github_go_logr_logr//:go_default_library", - "@com_github_gorilla_mux//:go_default_library", "@com_github_prometheus_client_golang//prometheus:go_default_library", "@com_github_prometheus_client_golang//prometheus/promhttp:go_default_library", "@io_k8s_client_go//tools/cache:go_default_library", diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index 2f28ce511..02b6d61c8 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -27,17 +27,17 @@ import ( "context" "net" "net/http" - pprof "net/http/pprof" "time" logf "github.com/jetstack/cert-manager/pkg/logs" "github.com/go-logr/logr" - "github.com/gorilla/mux" + "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" cmmeta "github.com/jetstack/cert-manager/pkg/apis/meta/v1" + "github.com/jetstack/cert-manager/pkg/util/profiling" ) const ( @@ -142,14 +142,10 @@ func (m *Metrics) Start(listenAddress string, enablePprof bool) (*http.Server, e m.registry.MustRegister(m.acmeClientRequestCount) m.registry.MustRegister(m.controllerSyncCallCount) - router := mux.NewRouter() - router.Handle("/metrics", promhttp.HandlerFor(m.registry, promhttp.HandlerOpts{})) + mux := http.NewServeMux() + mux.Handle("/metrics", promhttp.HandlerFor(m.registry, promhttp.HandlerOpts{})) if enablePprof { - router.HandleFunc("/debug/pprof/", pprof.Index) - router.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline) - router.HandleFunc("/debug/pprof/profile", pprof.Profile) - router.HandleFunc("/debug/pprof/symbol", pprof.Symbol) - router.HandleFunc("/debug/pprof/trace", pprof.Trace) + profiling.Install(mux) } ln, err := net.Listen("tcp", listenAddress) @@ -162,7 +158,7 @@ func (m *Metrics) Start(listenAddress string, enablePprof bool) (*http.Server, e ReadTimeout: prometheusMetricsServerReadTimeout, WriteTimeout: prometheusMetricsServerWriteTimeout, MaxHeaderBytes: prometheusMetricsServerMaxHeaderBytes, - Handler: router, + Handler: mux, } go func() { diff --git a/test/integration/certificates/metrics_controller_test.go b/test/integration/certificates/metrics_controller_test.go index ae6ff9f9b..803b40d63 100644 --- a/test/integration/certificates/metrics_controller_test.go +++ b/test/integration/certificates/metrics_controller_test.go @@ -51,7 +51,7 @@ func TestMetricsController(t *testing.T) { kubernetesCl, factory, cmClient, cmFactory := framework.NewClients(t, config) metricsHandler := metrics.New(logf.Log) - server, err := metricsHandler.Start("127.0.0.1:0") + server, err := metricsHandler.Start("127.0.0.1:0", false) if err != nil { t.Fatal(err) }