feat: add basic prometheus metrics integration
Some checks reported errors
Cadoles/bouncer/pipeline/head Something is wrong with the build of this commit
Some checks reported errors
Cadoles/bouncer/pipeline/head Something is wrong with the build of this commit
This commit is contained in:
35
internal/config/metrics.go
Normal file
35
internal/config/metrics.go
Normal file
@ -0,0 +1,35 @@
|
||||
package config
|
||||
|
||||
import "fmt"
|
||||
|
||||
type MetricsConfig struct {
|
||||
Enabled InterpolatedBool `yaml:"enabled"`
|
||||
Endpoint InterpolatedString `yaml:"endpoint"`
|
||||
BasicAuth *BasicAuthConfig `yaml:"basicAuth"`
|
||||
}
|
||||
|
||||
type BasicAuthConfig struct {
|
||||
Credentials *InterpolatedMap `yaml:"credentials"`
|
||||
}
|
||||
|
||||
func (c *BasicAuthConfig) CredentialsMap() map[string]string {
|
||||
if c.Credentials == nil {
|
||||
return map[string]string{}
|
||||
}
|
||||
|
||||
credentials := make(map[string]string, len(*c.Credentials))
|
||||
|
||||
for k, v := range *c.Credentials {
|
||||
credentials[k] = fmt.Sprintf("%v", v)
|
||||
}
|
||||
|
||||
return credentials
|
||||
}
|
||||
|
||||
func NewDefaultMetricsConfig() MetricsConfig {
|
||||
return MetricsConfig{
|
||||
Enabled: true,
|
||||
Endpoint: "/.bouncer/metrics",
|
||||
BasicAuth: nil,
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user