bouncer/internal/config/metrics.go
William Petit 82c93d3f1e
All checks were successful
Cadoles/bouncer/pipeline/head This commit looks good
feat(config): interpolate recursively in interpolated map
2024-05-24 12:49:03 +02:00

36 lines
731 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.Data))
for k, v := range c.Credentials.Data {
credentials[k] = fmt.Sprintf("%v", v)
}
return credentials
}
func NewDefaultMetricsConfig() MetricsConfig {
return MetricsConfig{
Enabled: true,
Endpoint: "/.bouncer/metrics",
BasicAuth: nil,
}
}