36 lines
723 B
Go
36 lines
723 B
Go
|
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,
|
||
|
}
|
||
|
}
|