Documentation
¶
Index ¶
- Variables
- func CheckSecret(t *testing.T, rawCfg string, originalValue string)
- func LoadBytes(buf []byte, expandEnvVars bool, c *Config) error
- func LoadFile(filename string, expandEnvVars bool, c *Config) error
- func LoadRemote(url string, expandEnvVars bool, c *Config) error
- type Config
- type Integrations
- type IntegrationsGlobals
- type VersionedIntegrations
Constants ¶
This section is empty.
Variables ¶
var DefaultConfig = Config{
Metrics: metrics.DefaultConfig,
Integrations: DefaultVersionedIntegrations,
EnableConfigEndpoints: false,
}
DefaultConfig holds default settings for all the subsystems.
var DefaultVersionedIntegrations = VersionedIntegrations{
// contains filtered or unexported fields
}
DefaultVersionedIntegrations is the default config for integrations.
Functions ¶
func CheckSecret ¶ added in v0.20.1
func CheckSecret(t *testing.T, rawCfg string, originalValue string)
CheckSecret is a helper function to ensure the original value is overwritten with <secret>
func LoadBytes ¶ added in v0.4.0
func LoadBytes(buf []byte, expandEnvVars bool, c *Config) error
LoadBytes unmarshals a config from a buffer. Defaults are not applied to the file and must be done manually if LoadBytes is called directly.
func LoadFile ¶
func LoadFile(filename string, expandEnvVars bool, c *Config) error
LoadFile reads a file and passes the contents to Load
func LoadRemote ¶ added in v0.22.0
func LoadRemote(url string, expandEnvVars bool, c *Config) error
LoadRemote reads a config from url
Types ¶
type Config ¶
type Config struct {
Server server.Config `yaml:"server,omitempty"`
Metrics metrics.Config `yaml:"metrics,omitempty"`
Integrations VersionedIntegrations `yaml:"integrations,omitempty"`
Traces traces.Config `yaml:"traces,omitempty"`
Logs *logs.Config `yaml:"logs,omitempty"`
// We support a secondary server just for the /-/reload endpoint, since
// invoking /-/reload against the primary server can cause the server
// to restart.
ReloadAddress string `yaml:"-"`
ReloadPort int `yaml:"-"`
// Deprecated fields user has used. Generated during UnmarshalYAML.
Deprecations []string `yaml:"-"`
// Remote config options
BasicAuthUser string `yaml:"-"`
BasicAuthPassFile string `yaml:"-"`
// Toggle for config endpoint(s)
EnableConfigEndpoints bool `yaml:"-"`
}
Config contains underlying configurations for the agent
func Load ¶
func Load(fs *flag.FlagSet, args []string) (*Config, error)
Load loads a config file from a flagset. Flags will be registered to the flagset before parsing them with the values specified by args.
func (*Config) LogDeprecations ¶ added in v0.19.0
func (c *Config) LogDeprecations(l log.Logger)
LogDeprecations will log use of any deprecated fields to l as warn-level messages.
func (Config) MarshalYAML ¶ added in v0.20.1
func (c Config) MarshalYAML() (interface{}, error)
MarshalYAML implements yaml.Marshaler.
func (*Config) RegisterFlags ¶
func (c *Config) RegisterFlags(f *flag.FlagSet)
RegisterFlags registers flags in underlying configs
func (*Config) UnmarshalYAML ¶ added in v0.14.0
func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements yaml.Unmarshaler.
type Integrations ¶ added in v0.22.0
type Integrations interface {
ApplyConfig(*VersionedIntegrations, IntegrationsGlobals) error
WireAPI(*mux.Router)
Stop()
}
Integrations is an abstraction over both the v1 and v2 systems.
func NewIntegrations ¶ added in v0.22.0
func NewIntegrations(logger log.Logger, cfg *VersionedIntegrations, globals IntegrationsGlobals) (Integrations, error)
NewIntegrations creates a new subsystem. globals should be provided regardless of useV2. globals.SubsystemOptions will be automatically set if cfg.Version is set to IntegrationsVersion2.
type IntegrationsGlobals ¶ added in v0.22.0
type IntegrationsGlobals = v2.Globals
IntegrationsGlobals is a global struct shared across integrations.
type VersionedIntegrations ¶ added in v0.22.0
type VersionedIntegrations struct {
// contains filtered or unexported fields
}
VersionedIntegrations abstracts the subsystem configs for integrations v1 and v2. VersionedIntegrations can only be unmarshaled as part of Load.
func (*VersionedIntegrations) ApplyDefaults ¶ added in v0.22.0
func (c *VersionedIntegrations) ApplyDefaults(scfg *server.Config, mcfg *metrics.Config) error
ApplyDefaults applies defaults to the subsystem based on globals.
func (VersionedIntegrations) IsZero ¶ added in v0.22.0
func (c VersionedIntegrations) IsZero() bool
IsZero implements yaml.IsZeroer.
func (VersionedIntegrations) MarshalYAML ¶ added in v0.22.0
func (c VersionedIntegrations) MarshalYAML() (interface{}, error)
MarshalYAML implements yaml.Marshaler.
func (*VersionedIntegrations) UnmarshalYAML ¶ added in v0.22.0
func (c *VersionedIntegrations) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements yaml.Unmarshaler. Full unmarshaling is deferred until setVersion is invoked.