config

package
v0.0.0-...-c91eec7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2014 License: Apache-2.0 Imports: 28 Imported by: 0

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

View Source
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

func EtcdKeyForHost(hostname string) string

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

func (c *PodConfig) Channel(source string) chan<- interface{}

Channel creates or returns a config source channel. The channel only accepts PodUpdates

func (*PodConfig) Sync

func (c *PodConfig) Sync()

Sync requests the full configuration be delivered to the update channel.

func (*PodConfig) Updates

func (c *PodConfig) Updates() <-chan kubelet.PodUpdate

Updates returns a channel of updates to the configuration, properly denormalized.

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

type SourceURL

type SourceURL struct {
	// contains filtered or unexported fields
}

func NewSourceURL

func NewSourceURL(url string, period time.Duration, updates chan<- interface{}) *SourceURL

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL