Documentation ¶
Overview ¶
Package config implements the pod configuration readers.
Reads the pod configuration from etcd using the Kubernetes etcd schema.
Reads the pod configuration from file or a directory of files.
Reads the pod configuration from an HTTP GET response.
Index ¶
Constants ¶
const ( // PodConfigNotificationSnapshot delivers the full configuration as a SET whenever // any change occurs. PodConfigNotificationSnapshot = iota // PodConfigNotificationSnapshotAndUpdates delivers an UPDATE message whenever pods are // changed, and a SET message if there are any additions or removals. PodConfigNotificationSnapshotAndUpdates // PodConfigNotificationIncremental delivers ADD, UPDATE, and REMOVE to the update channel. PodConfigNotificationIncremental )
Variables ¶
This section is empty.
Functions ¶
func EtcdKeyForHost ¶
Types ¶
type PodConfig ¶
type PodConfig struct {
// contains filtered or unexported fields
}
PodConfig is a configuration mux that merges many sources of pod configuration into a single consistent structure, and then delivers incremental change notifications to listeners in order.
func NewPodConfig ¶
func NewPodConfig(mode PodConfigNotificationMode) *PodConfig
NewPodConfig creates an object that can merge many configuration sources into a stream of normalized updates to a pod configuration.
func (*PodConfig) Channel ¶
Channel creates or returns a config source channel. The channel only accepts PodUpdates
type PodConfigNotificationMode ¶
type PodConfigNotificationMode int
PodConfigNotificationMode describes how changes are sent to the update channel.
type SourceEtcd ¶
type SourceEtcd struct {
// contains filtered or unexported fields
}
func NewSourceEtcd ¶
func NewSourceEtcd(key string, client tools.EtcdClient, updates chan<- interface{}) *SourceEtcd
NewSourceEtcd creates a config source that watches and pulls from a key in etcd
type SourceFile ¶
type SourceFile struct {
// contains filtered or unexported fields
}
func NewSourceFile ¶
func NewSourceFile(path string, period time.Duration, updates chan<- interface{}) *SourceFile