Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app.go
diff options
context:
space:
mode:
authorVishal Tak <vtak@gitlab.com>2022-05-26 11:40:09 +0300
committerVishal Tak <vtak@gitlab.com>2022-06-02 09:12:29 +0300
commit8488ef56611256c1761f93de5f8df23e07b86af4 (patch)
tree76be69593e86ae2cbf0bcac28585b0e262e9952b /app.go
parent2fe03721dbc6abb0240a284186a4bc4f4545d008 (diff)
Add support for tls for metrics
Changelog: added
Diffstat (limited to 'app.go')
-rw-r--r--app.go19
1 files changed, 14 insertions, 5 deletions
diff --git a/app.go b/app.go
index 760a8bfb..7937e3fd 100644
--- a/app.go
+++ b/app.go
@@ -277,8 +277,8 @@ func (a *theApp) Run() error {
}
// Serve metrics for Prometheus
- if a.config.General.MetricsAddress != "" {
- s := a.listenMetrics(eg, a.config.General.MetricsAddress)
+ if a.config.Metrics.Address != "" {
+ s := a.listenMetrics(eg, a.config.Metrics)
servers = append(servers, s)
}
@@ -322,13 +322,22 @@ func (a *theApp) listen(eg *errgroup.Group, addr string, h http.Handler, errTrac
return server
}
-func (a *theApp) listenMetrics(eg *errgroup.Group, addr string) *http.Server {
+func (a *theApp) listenMetrics(eg *errgroup.Group, config cfg.Metrics) *http.Server {
server := &http.Server{}
eg.Go(func() error {
- l, err := net.Listen("tcp", addr)
+ l, err := net.Listen("tcp", config.Address)
if err != nil {
errortracking.CaptureErrWithStackTrace(err, errortracking.WithField("listener", "metrics"))
- return fmt.Errorf("failed to listen on addr %s: %w", addr, err)
+ return fmt.Errorf("failed to listen on addr %s: %w", config.Address, err)
+ }
+
+ metricsTLSConfig := &cryptotls.Config{
+ Certificates: []cryptotls.Certificate{config.TLSCertificate},
+ MinVersion: cryptotls.VersionTLS12,
+ }
+
+ if config.IsHTTPS {
+ l = cryptotls.NewListener(l, metricsTLSConfig)
}
monitoringOpts := []monitoring.Option{