Documentation ¶
Index ¶
- func HTTPClientOptions(opts ...config.HTTPClientOption) func(*Manager)
- func MarshalYAMLWithInlineConfigs(in interface{}) (interface{}, error)
- func Name(n string) func(*Manager)
- func RegisterConfig(config Config)
- func RegisterMetrics()
- func UnmarshalYAMLWithInlineConfigs(out interface{}, unmarshal func(interface{}) error) error
- type Config
- type Configs
- type Discoverer
- type DiscovererOptions
- type Manager
- type Provider
- type StaticConfig
- type StaticProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HTTPClientOptions ¶
func HTTPClientOptions(opts ...config.HTTPClientOption) func(*Manager)
HTTPClientOptions sets the list of HTTP client options to expose to Discoverers. It is up to Discoverers to choose to use the options provided.
func MarshalYAMLWithInlineConfigs ¶
func MarshalYAMLWithInlineConfigs(in interface{}) (interface{}, error)
MarshalYAMLWithInlineConfigs helps implement yaml.Marshal for structs that have a Configs field that should be inlined.
func RegisterConfig ¶
func RegisterConfig(config Config)
RegisterConfig registers the given Config type for YAML marshaling and unmarshaling.
func RegisterMetrics ¶
func RegisterMetrics()
func UnmarshalYAMLWithInlineConfigs ¶
UnmarshalYAMLWithInlineConfigs helps implement yaml.Unmarshal for structs that have a Configs field that should be inlined.
Types ¶
type Config ¶
type Config interface { // Name returns the name of the discovery mechanism. Name() string // NewDiscoverer returns a Discoverer for the Config // with the given DiscovererOptions. NewDiscoverer(DiscovererOptions) (Discoverer, error) }
A Config provides the configuration and constructor for a Discoverer.
type Configs ¶
type Configs []Config
Configs is a slice of Config values that uses custom YAML marshaling and unmarshaling to represent itself as a mapping of the Config values grouped by their types.
func (Configs) MarshalYAML ¶
MarshalYAML implements yaml.Marshaler.
func (*Configs) SetDirectory ¶
SetDirectory joins any relative file paths with dir.
func (*Configs) UnmarshalYAML ¶
UnmarshalYAML implements yaml.Unmarshaler.
type Discoverer ¶
type Discoverer interface { // Run hands a channel to the discovery provider (Consul, DNS, etc.) through which // it can send updated target groups. It must return when the context is canceled. // It should not close the update channel on returning. Run(ctx context.Context, up chan<- []*targetgroup.Group) }
Discoverer provides information about target groups. It maintains a set of sources from which TargetGroups can originate. Whenever a discovery provider detects a potential change, it sends the TargetGroup through its channel.
Discoverer does not know if an actual change happened. It does guarantee that it sends the new TargetGroup whenever a change happens.
Discoverers should initially send a full set of all discoverable TargetGroups.
type DiscovererOptions ¶
type DiscovererOptions struct { Logger log.Logger // Extra HTTP client options to expose to Discoverers. This field may be // ignored; Discoverer implementations must opt-in to reading it. HTTPClientOptions []config.HTTPClientOption }
DiscovererOptions provides options for a Discoverer.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager maintains a set of discovery providers and sends each update to a map channel. Targets are grouped by the target set name.
func NewManager ¶
NewManager is the Discovery Manager constructor.
func (*Manager) ApplyConfig ¶
ApplyConfig checks if discovery provider with supplied config is already running and keeps them as is. Remaining providers are then stopped and new required providers are started using the provided config.
func (*Manager) Providers ¶ added in v0.37.0
Providers returns the currently configured SD providers.
func (*Manager) StartCustomProvider ¶
func (m *Manager) StartCustomProvider(ctx context.Context, name string, worker Discoverer)
StartCustomProvider is used for sdtool. Only use this if you know what you're doing.
type Provider ¶ added in v0.37.0
type Provider struct {
// contains filtered or unexported fields
}
Provider holds a Discoverer instance, its configuration, cancel func and its subscribers.
func (*Provider) Discoverer ¶ added in v0.37.0
func (p *Provider) Discoverer() Discoverer
Discoverer return the Discoverer of the provider
type StaticConfig ¶
type StaticConfig []*targetgroup.Group
A StaticConfig is a Config that provides a static list of targets.
func (StaticConfig) Name ¶
func (StaticConfig) Name() string
Name returns the name of the service discovery mechanism.
func (StaticConfig) NewDiscoverer ¶
func (c StaticConfig) NewDiscoverer(DiscovererOptions) (Discoverer, error)
NewDiscoverer returns a Discoverer for the Config.
type StaticProvider ¶
type StaticProvider struct {
TargetGroups []*targetgroup.Group
}
StaticProvider holds a list of target groups that never change.
func (*StaticProvider) Run ¶
func (sd *StaticProvider) Run(ctx context.Context, ch chan<- []*targetgroup.Group)
Run implements the Worker interface.
Directories ¶
Path | Synopsis |
---|---|
Package install has the side-effect of registering all builtin service discovery config types.
|
Package install has the side-effect of registering all builtin service discovery config types. |