config

package
v0.12.1-0...-6d465c4 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2015 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Overview

Reads the pod configuration from the Kubernetes apiserver.

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

func GeneratePodName

func GeneratePodName(name string) (string, error)

func NewSourceApiserver

func NewSourceApiserver(client *client.Client, hostname string, updates chan<- interface{})

NewSourceApiserver creates a config source that watches and pulls from the apiserver.

func NewSourceEtcd

func NewSourceEtcd(key string, client tools.EtcdClient, updates chan<- interface{})

NewSourceEtcd creates a config source that watches and pulls from a key in etcd

func NewSourceFile

func NewSourceFile(path string, period time.Duration, updates chan<- interface{})

func NewSourceURL

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

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, recorder record.EventRecorder) *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) SeenAllSources

func (c *PodConfig) SeenAllSources() bool

SeenAllSources returns true if this config has received a SET message from all configured sources, false otherwise.

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.

Jump to

Keyboard shortcuts

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