mirror of
https://github.com/pomerium/pomerium.git
synced 2025-07-31 07:19:16 +02:00
config: add metrics_basic_auth option (#1917)
* config: add metrics_basic_auth option * remove println * use constant time compare
This commit is contained in:
parent
03d8ffaee2
commit
8b42eb5ebd
8 changed files with 309 additions and 170 deletions
|
@ -15,6 +15,7 @@ type MetricsManager struct {
|
|||
mu sync.Mutex
|
||||
serviceName string
|
||||
addr string
|
||||
basicAuth string
|
||||
srv *http.Server
|
||||
}
|
||||
|
||||
|
@ -60,7 +61,7 @@ func (mgr *MetricsManager) updateInfo(cfg *Config) {
|
|||
}
|
||||
|
||||
func (mgr *MetricsManager) updateServer(cfg *Config) {
|
||||
if cfg.Options.MetricsAddr == mgr.addr {
|
||||
if cfg.Options.MetricsAddr == mgr.addr && cfg.Options.MetricsBasicAuth == mgr.basicAuth {
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -73,6 +74,7 @@ func (mgr *MetricsManager) updateServer(cfg *Config) {
|
|||
}
|
||||
|
||||
mgr.addr = cfg.Options.MetricsAddr
|
||||
mgr.basicAuth = cfg.Options.MetricsBasicAuth
|
||||
if mgr.addr == "" {
|
||||
log.Info().Msg("metrics: http server disabled")
|
||||
return
|
||||
|
@ -86,6 +88,10 @@ func (mgr *MetricsManager) updateServer(cfg *Config) {
|
|||
return
|
||||
}
|
||||
|
||||
if username, password, ok := cfg.Options.GetMetricsBasicAuth(); ok {
|
||||
handler = httputil.RequireBasicAuth(handler, username, password)
|
||||
}
|
||||
|
||||
mgr.srv, err = httputil.NewServer(&httputil.ServerOptions{
|
||||
Addr: mgr.addr,
|
||||
Insecure: true,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue