Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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.
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<- []*target.Group) error
}
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 ¶
DiscovererOptions provides options for a Discoverer.
type Manager ¶
type Manager struct {
// Some Discoverers(eg. k8s) send only the updates for a given target group
// so we use map[tg.Source]*Group to know which group to update.
Targets map[poolKey]map[string]*target.Group
// 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 ¶
func NewManager(logger log.Logger, reg prometheus.Registerer, options ...func(*Manager)) *Manager
NewManager is the Discovery Manager constructor.
func (*Manager) ApplyConfig ¶
ApplyConfig removes all running discovery providers and starts new ones using the provided config.
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 PodConfig ¶
type PodConfig struct {
// contains filtered or unexported fields
}
func NewPodConfig ¶
func (*PodConfig) NewDiscoverer ¶
func (c *PodConfig) NewDiscoverer(d DiscovererOptions) (Discoverer, error)
type PodDiscoverer ¶
type PodDiscoverer struct {
// contains filtered or unexported fields
}
type StaticConfig ¶
type SystemdConfig ¶
type SystemdConfig struct {
// contains filtered or unexported fields
}
func NewSystemdConfig ¶
func NewSystemdConfig(systemdUnits []string, systemdCgroupPath string) *SystemdConfig
func (*SystemdConfig) Name ¶
func (c *SystemdConfig) Name() string
func (*SystemdConfig) NewDiscoverer ¶
func (c *SystemdConfig) NewDiscoverer(d DiscovererOptions) (Discoverer, error)
type SystemdDiscoverer ¶
type SystemdDiscoverer struct {
// contains filtered or unexported fields
}