Documentation
¶
Index ¶
- Constants
- Variables
- func Enabled(featureList map[string]bool, featureName string) bool
- func Keys(featureList FeatureList) []string
- func KnownFeatures(f *FeatureList) []string
- func NewFeatureGate(f *FeatureList, value string) (map[string]bool, error)
- func ResolveFeatureGateDependencies(featureGate map[string]bool)
- func Supports(featureList FeatureList, featureName string) bool
- func ValidateVersion(allFeatures FeatureList, requestedFeatures map[string]bool, ...) error
- type Feature
- type FeatureList
Constants ¶
const (
// HighAvailability is alpha in v1.9
HighAvailability = "HighAvailability"
// CoreDNS is alpha in v1.9
CoreDNS = "CoreDNS"
// SelfHosting is alpha in v1.8 and v1.9
SelfHosting = "SelfHosting"
// StoreCertsInSecrets is alpha in v1.8 and v1.9
StoreCertsInSecrets = "StoreCertsInSecrets"
// DynamicKubeletConfig is alpha in v1.9
DynamicKubeletConfig = "DynamicKubeletConfig"
// Auditing is beta in 1.8
Auditing = "Auditing"
)
Variables ¶
var InitFeatureGates = FeatureList{
SelfHosting: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}},
StoreCertsInSecrets: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}},
HighAvailability: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}, MinimumVersion: v190, HiddenInHelpText: true},
CoreDNS: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Beta}, MinimumVersion: v190},
DynamicKubeletConfig: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}, MinimumVersion: v190},
Auditing: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}},
}
InitFeatureGates are the default feature gates for the init command
Functions ¶
func Enabled ¶
func Enabled(featureList map[string]bool, featureName string) bool
Enabled indicates whether a feature name has been enabled
func Keys ¶
func Keys(featureList FeatureList) []string
Keys returns a slice of feature names for a given feature set
func KnownFeatures ¶
func KnownFeatures(f *FeatureList) []string
KnownFeatures returns a slice of strings describing the FeatureList features.
func NewFeatureGate ¶
func NewFeatureGate(f *FeatureList, value string) (map[string]bool, error)
NewFeatureGate parses a string of the form "key1=value1,key2=value2,..." into a map[string]bool of known keys or returns an error.
func ResolveFeatureGateDependencies ¶ added in v1.9.0
func ResolveFeatureGateDependencies(featureGate map[string]bool)
ResolveFeatureGateDependencies resolve dependencies between feature gates
func Supports ¶
func Supports(featureList FeatureList, featureName string) bool
Supports indicates whether a feature name is supported on the given feature set
func ValidateVersion ¶ added in v1.9.0
func ValidateVersion(allFeatures FeatureList, requestedFeatures map[string]bool, requestedVersion string) error
ValidateVersion ensures that a feature gate list is compatible with the chosen kubernetes version
Types ¶
type Feature ¶ added in v1.9.0
type Feature struct {
utilfeature.FeatureSpec
MinimumVersion *version.Version
HiddenInHelpText bool
}
Feature represents a feature being gated
type FeatureList ¶
type FeatureList map[string]Feature
FeatureList represents a list of feature gates