Documentation
¶
Index ¶
Constants ¶
View Source
const ( // Values for PreRelease. Alpha = prerelease("ALPHA") Beta = prerelease("BETA") GA = prerelease("") )
Variables ¶
View Source
var ( // DefaultMutableFeatureGate is a mutable version of DefaultFeatureGate. // Only top-level commands/options setup should make use of this. DefaultMutableFeatureGate MutableFeatureGate = NewFeatureGate() // DefaultFeatureGate is a shared global FeatureGate. // Top-level commands/options setup that needs to modify this feature gate should use DefaultMutableFeatureGate. DefaultFeatureGate FeatureGate = DefaultMutableFeatureGate )
Functions ¶
func NewFeatureGate ¶
func NewFeatureGate() *defaultFeatureGate
Types ¶
type FeatureGate ¶
type FeatureGate interface {
// Enabled returns true if the key is enabled.
Enabled(key Feature) bool
// KnownFeatures returns a slice of strings describing the FeatureGate's known features.
KnownFeatures() []string
// DeepCopy returns a deep copy of the FeatureGate object, such that gates can be
// set on the copy without mutating the original. This is useful for validating
// config against potential feature gate changes before committing those changes.
DeepCopy() MutableFeatureGate
// IsReady returns true if the feature is ready
IsReady(key Feature) bool
// Subscribe returns a channel. if the channel is closed, means the feature is ready
Subscribe(key Feature) (chan struct{}, error)
// UpdateToReady supports updating feature to ready, then closing the channel
// unsupported:
// 1. Rollback the notified of ready to false or Setting with false
// 2. Repeat setting the notified of ready with true
UpdateToReady(key Feature) error
}
FeatureGate indicates whether a given feature is enabled or not
type FeatureSpec ¶
type MutableFeatureGate ¶
type MutableFeatureGate interface {
FeatureGate
// AddFlag adds a flag for setting global feature gates to the specified FlagSet.
AddFlag(fs *pflag.FlagSet)
// Set parses and stores flag gates for known features
// from a string like feature1=true,feature2=false,...
Set(value string) error
// SetFromMap stores flag gates for known features from a map[string]bool or returns an error
SetFromMap(m map[string]bool) error
// Add adds features to the featureGate.
Add(features map[Feature]FeatureSpec) error
}
MutableFeatureGate parses and stores flag gates for known features from a string like feature1=true,feature2=false,...
Click to show internal directories.
Click to hide internal directories.