kubernetes: github.com/erikstmartin/kubernetes/pkg/kubelet/config Index | Files

package config

import "github.com/erikstmartin/kubernetes/pkg/kubelet/config"

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

Package Files

config.go doc.go etcd.go file.go http.go

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
)

func EtcdKeyForHost Uses

func EtcdKeyForHost(hostname string) string

type PodConfig Uses

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 Uses

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 Uses

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

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

func (*PodConfig) Sync Uses

func (c *PodConfig) Sync()

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

func (*PodConfig) Updates Uses

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

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

type PodConfigNotificationMode Uses

type PodConfigNotificationMode int

PodConfigNotificationMode describes how changes are sent to the update channel.

type SourceEtcd Uses

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

func NewSourceEtcd Uses

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 Uses

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

func NewSourceFile Uses

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

type SourceURL Uses

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

func NewSourceURL Uses

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

Package config imports 28 packages (graph). Updated 2018-04-10. Refresh now. Tools for package owners.