Documentation
¶
Overview ¶
Package config provides utility objects for decoupling sources of configuration and the actual configuration state. Consumers must implement the Merger interface to unify the sources of change into an object.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
// DefaultFeatureGate is a shared global FeatureGate.
DefaultFeatureGate = &featureGate{
known: knownFeatures,
special: specialFeatures,
}
)
Functions ¶
This section is empty.
Types ¶
type Accessor ¶
type Accessor interface {
// MergedState returns a representation of the current merge state.
// Must be reentrant when more than one source is defined.
MergedState() interface{}
}
Accessor is an interface for retrieving the current merge state.
type AccessorFunc ¶
type AccessorFunc func() interface{}
AccessorFunc implements the Accessor interface.
func (AccessorFunc) MergedState ¶
func (f AccessorFunc) MergedState() interface{}
type Broadcaster ¶ added in v0.7.0
type Broadcaster struct {
// contains filtered or unexported fields
}
func NewBroadcaster ¶ added in v0.7.0
func NewBroadcaster() *Broadcaster
NewBroadcaster registers a set of listeners that support the Listener interface and notifies them all on changes.
type ConfigurationMap ¶ added in v1.3.0
type ConfigurationMap map[string]string
type FeatureGate ¶ added in v1.4.0
type FeatureGate interface {
AddFlag(fs *pflag.FlagSet)
Set(value string) error
KnownFeatures() []string
// owner: @timstclair
// beta: v1.4
AppArmor() bool
// owner: @girishkalele
// alpha: v1.4
ExternalTrafficLocalOnly() bool
// owner: @saad-ali
// alpha: v1.3
DynamicVolumeProvisioning() bool
// owner: @mtaufen
// alpha: v1.4
DynamicKubeletConfig() bool
// owner: timstclair
// alpha: v1.5
StreamingProxyRedirects() bool
// owner: @pweil-
// alpha: v1.5
ExperimentalHostUserNamespaceDefaulting() bool
// owner: @vishh
// alpha: v1.4
ExperimentalCriticalPodAnnotation() bool
}
FeatureGate parses and stores flag gates for known features from a string like feature1=true,feature2=false,...
type Listener ¶
type Listener interface {
// OnUpdate is invoked when a change is made to an object.
OnUpdate(instance interface{})
}
type ListenerFunc ¶
type ListenerFunc func(instance interface{})
ListenerFunc receives a representation of the change or object.
type MergeFunc ¶
type MergeFunc func(source string, update interface{}) error
MergeFunc implements the Merger interface
type Merger ¶
type Merger interface {
// Invoked when a change from a source is received. May also function as an incremental
// merger if you wish to consume changes incrementally. Must be reentrant when more than
// one source is defined.
Merge(source string, update interface{}) error
}
type Mux ¶
type Mux struct {
// contains filtered or unexported fields
}
Mux is a class for merging configuration from multiple sources. Changes are pushed via channels and sent to the merge function.
func NewMux ¶
func NewMux(merger Merger) *Mux
NewMux creates a new mux that can merge changes from multiple sources.
func (*Mux) Channel ¶
func (m *Mux) Channel(source string) chan interface{}
Channel returns a channel where a configuration source can send updates of new configurations. Multiple calls with the same source will return the same channel. This allows change and state based sources to use the same channel. Different source names however will be treated as a union.
type NamedCertKey ¶ added in v1.5.0
type NamedCertKey struct {
Names []string
CertFile, KeyFile string
}
NamedCertKey is a flag value parsing "certfile,keyfile" and "certfile,keyfile:name,name,name".
type NamedCertKeyArray ¶ added in v1.5.0
type NamedCertKeyArray struct {
// contains filtered or unexported fields
}
NamedCertKeyArray is a flag value parsing NamedCertKeys, each passed with its own flag instance (in contrast to comma separated slices).
func NewNamedCertKeyArray ¶ added in v1.5.0
func NewNamedCertKeyArray(p *[]NamedCertKey) *NamedCertKeyArray
NewNamedKeyCertArray creates a new NamedCertKeyArray with the internal value pointing to p.