Documentation
¶
Overview ¶
Package config implements the pod configuration readers.
Package config implements the pod configuration readers.
Index ¶
- Constants
- Variables
- func NewSourceApiserver(logger klog.Logger, c clientset.Interface, nodeName types.NodeName, ...)
- func NewSourceFile(logger klog.Logger, path string, nodeName types.NodeName, period time.Duration, ...)
- func NewSourceURL(logger klog.Logger, url string, header http.Header, nodeName types.NodeName, ...)
- type PodConfig
- type PodConfigNotificationMode
- type SourcesReady
- type SourcesReadyFn
Constants ¶
const WaitForAPIServerSyncPeriod = 1 * time.Second
WaitForAPIServerSyncPeriod is the period between checks for the node list/watch initial sync
Variables ¶
var ErrStaticPodTriedToUseClusterTrustBundle = errors.New("static pods may not use ClusterTrustBundle projected volume sources")
A static pod tried to use a ClusterTrustBundle projected volume source.
var ErrStaticPodTriedToUseResourceClaims = errors.New("static pods may not use ResourceClaims")
A static pod tried to use a resource claim.
Functions ¶
func NewSourceApiserver ¶ added in v0.9.0
func NewSourceApiserver(logger klog.Logger, c clientset.Interface, nodeName types.NodeName, nodeHasSynced func() bool, updates chan<- interface{})
NewSourceApiserver creates a config source that watches and pulls from the apiserver.
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, startupSLIObserver podStartupSLIObserver) *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
func (*PodConfig) SeenAllSources ¶ added in v0.8.0
SeenAllSources returns true if seenSources contains all sources in the config, and also this config has received a SET message from each source.
type PodConfigNotificationMode ¶
type PodConfigNotificationMode int
PodConfigNotificationMode describes how changes are sent to the update channel.
const ( // PodConfigNotificationUnknown is the default value for // PodConfigNotificationMode when uninitialized. PodConfigNotificationUnknown PodConfigNotificationMode = iota // PodConfigNotificationSnapshot delivers the full configuration as a SET whenever // any change occurs. PodConfigNotificationSnapshot // PodConfigNotificationSnapshotAndUpdates delivers an UPDATE and DELETE message whenever pods are // changed, and a SET message if there are any additions or removals. PodConfigNotificationSnapshotAndUpdates // PodConfigNotificationIncremental delivers ADD, UPDATE, DELETE, REMOVE, RECONCILE to the update channel. PodConfigNotificationIncremental )
type SourcesReady ¶ added in v1.3.0
type SourcesReady interface {
// AddSource adds the specified source to the set of sources managed.
AddSource(source string)
// AllReady returns true if the currently configured sources have all been seen.
AllReady() bool
}
SourcesReady tracks the set of configured sources seen by the kubelet.
func NewSourcesReady ¶ added in v1.3.0
func NewSourcesReady(sourcesReadyFn SourcesReadyFn) SourcesReady
NewSourcesReady returns a SourcesReady with the specified function.