Documentation ¶
Overview ¶
Package config holds the typed objects that define the schemas for assorted ConfigMap objects on which Kf depends
Copyright 2019 Google LLC ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- func DefaultConfigContext(ctx context.Context) context.Context
- func IsYAMLEqual(expected, actual string) (bool, error)
- func ToContextForTest(ctx context.Context, c *Config) context.Context
- type BuildNodeSelectors
- type BuildpackV2Definition
- type BuildpackV2List
- func (in BuildpackV2List) DeepCopy() BuildpackV2List
- func (in BuildpackV2List) DeepCopyInto(out *BuildpackV2List)
- func (list BuildpackV2List) MapToURL(name string) string
- func (list BuildpackV2List) Validate(ctx context.Context) (err *apis.FieldError)
- func (list BuildpackV2List) WithoutDisabled() BuildpackV2List
- type Config
- type DefaultsConfig
- type DomainTemplate
- type FeatureFlag
- type FeatureFlagToggles
- func (fft FeatureFlagToggles) AppDevExperienceBuilds() *FeatureFlag
- func (fft FeatureFlagToggles) CustomBuildpacks() *FeatureFlag
- func (fft FeatureFlagToggles) CustomStacks() *FeatureFlag
- func (in FeatureFlagToggles) DeepCopy() FeatureFlagToggles
- func (in FeatureFlagToggles) DeepCopyInto(out *FeatureFlagToggles)
- func (fft FeatureFlagToggles) DisableCustomBuildsFlag() *FeatureFlag
- func (fft FeatureFlagToggles) DockerfileBuilds() *FeatureFlag
- func (fft FeatureFlagToggles) NfsService() *FeatureFlag
- func (fft FeatureFlagToggles) RouteServices() *FeatureFlag
- func (fft FeatureFlagToggles) SetAppDevExperienceBuilds(enabled bool)
- func (fft FeatureFlagToggles) SetCustomBuildpacks(enabled bool)
- func (fft FeatureFlagToggles) SetCustomStacks(enabled bool)
- func (fft FeatureFlagToggles) SetDisableCustomBuilds(disabled bool)
- func (fft FeatureFlagToggles) SetDockerfileBuilds(enabled bool)
- func (fft FeatureFlagToggles) SetNfsService(toggle bool)
- func (fft FeatureFlagToggles) SetRouteServices(toggle bool)
- type StackV2Definition
- type StackV2List
- type StackV3Definition
- type StackV3List
- type Store
Examples ¶
Constants ¶
const (
// DefaultsConfigName is the name of the defaults configmap.
DefaultsConfigName = "config-defaults"
)
Variables ¶
This section is empty.
Functions ¶
func DefaultConfigContext ¶
DefaultConfigContext attaches a Config with all default values to the context.
func IsYAMLEqual ¶
IsYAMLEqual returns whether the expexted YAML matches the actual YAML.
Example ¶
spaceStacksOrigYAML := `- name: aaa image: aaa/image description: aaa stack - name: bbb image: bbb/image description: bbb stack ` spaceStacksAlphabetizedYAML := `- description: aaa stack image: aaa/image name: aaa - description: bbb stack image: bbb/image name: bbb ` fmt.Println("Orig SpaceStacksV2 YAML:") fmt.Println(spaceStacksOrigYAML) fmt.Println("Reformatted (alphabetized) SpaceStacksV2 YAML:") fmt.Println(spaceStacksAlphabetizedYAML) equalYAML, err := IsYAMLEqual(spaceStacksOrigYAML, spaceStacksAlphabetizedYAML) fmt.Println("IsYAMLEqual:", equalYAML) fmt.Println("Error:", err)
Output: Orig SpaceStacksV2 YAML: - name: aaa image: aaa/image description: aaa stack - name: bbb image: bbb/image description: bbb stack Reformatted (alphabetized) SpaceStacksV2 YAML: - description: aaa stack image: aaa/image name: aaa - description: bbb stack image: bbb/image name: bbb IsYAMLEqual: true Error: <nil>
Types ¶
type BuildNodeSelectors ¶
BuildNodeSelectors maps node selector keys with node selector values.
func (BuildNodeSelectors) DeepCopy ¶
func (in BuildNodeSelectors) DeepCopy() BuildNodeSelectors
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildNodeSelectors.
func (BuildNodeSelectors) DeepCopyInto ¶
func (in BuildNodeSelectors) DeepCopyInto(out *BuildNodeSelectors)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildpackV2Definition ¶
type BuildpackV2Definition struct { // Name is the human readable name of the buildpack. Name string `json:"name"` // URL is the URL of the given buildpack. URL string `json:"url"` // Disabled is set when this buildpack shouldn't be used to // build apps. Disabled bool `json:"disabled"` }
BuildpackV2Definition contains the a definition of a buildpack.
func (*BuildpackV2Definition) DeepCopy ¶
func (in *BuildpackV2Definition) DeepCopy() *BuildpackV2Definition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildpackV2Definition.
func (*BuildpackV2Definition) DeepCopyInto ¶
func (in *BuildpackV2Definition) DeepCopyInto(out *BuildpackV2Definition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BuildpackV2Definition) Validate ¶
func (defn *BuildpackV2Definition) Validate(ctx context.Context) (err *apis.FieldError)
Validate implements apis.Validatable
type BuildpackV2List ¶
type BuildpackV2List []BuildpackV2Definition
BuildpackV2List holds an array of BuildpackV2Definition. Its primary use is doing validation over a list of Buildpacks.
func (BuildpackV2List) DeepCopy ¶
func (in BuildpackV2List) DeepCopy() BuildpackV2List
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildpackV2List.
func (BuildpackV2List) DeepCopyInto ¶
func (in BuildpackV2List) DeepCopyInto(out *BuildpackV2List)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (BuildpackV2List) MapToURL ¶
func (list BuildpackV2List) MapToURL(name string) string
MapToURL looks up the buildpack in the given list and returns the URL of the corresponding buildpack. If the name isn't found, it's returned directly presuming it's either built-in or a URL already.
Example ¶
list := BuildpackV2List{ { Name: "java_buildpack", URL: "https://path-to-java-buildpack", }, } fmt.Println("custom not mapped:", list.MapToURL("https://some-custom-buildpack")) fmt.Println("java_buildpack:", list.MapToURL("java_buildpack"))
Output: custom not mapped: https://some-custom-buildpack java_buildpack: https://path-to-java-buildpack
func (BuildpackV2List) Validate ¶
func (list BuildpackV2List) Validate(ctx context.Context) (err *apis.FieldError)
Validate implements apis.Validatable
func (BuildpackV2List) WithoutDisabled ¶
func (list BuildpackV2List) WithoutDisabled() BuildpackV2List
WithoutDisabled returns a list of buildpacks with the disabled ones filtered out.
Example ¶
list := BuildpackV2List{ { Name: "java_buildpack", Disabled: true, }, { Name: "dotnet_buildpack", Disabled: false, }, { Name: "ruby_buildpack", Disabled: false, }, } for _, b := range list.WithoutDisabled() { fmt.Println(b.Name) }
Output: dotnet_buildpack ruby_buildpack
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config of Kf +k8s:deepcopy-gen=false
func CreateConfigForTest ¶
func CreateConfigForTest(defaults *DefaultsConfig) *Config
CreateConfigForTest creates a *Config with a custom *DefaultsConfig. This should be used for tests only.
func FromContext ¶
FromContext gets the *Config from the context.
func (*Config) Defaults ¶
func (c *Config) Defaults() (*DefaultsConfig, error)
Defaults returns the DefaultsConfig and an error if there was an issue loading the config.
type DefaultsConfig ¶
type DefaultsConfig struct { // SpaceContainerRegistry is the default container registry to assign // to spaces. SpaceContainerRegistry string `json:"spaceContainerRegistry,omitempty"` // SpaceClusterDomains is the default domain for spaces. Apps in the // space will get the name <app>.<space>.<defaultClusterDomain> by default. SpaceClusterDomains []DomainTemplate `json:"spaceClusterDomains,omitempty"` // SpaceBuildpacksV2 contains a sorted list of buildpacks to be used for CF // compatible builds. SpaceBuildpacksV2 BuildpackV2List `json:"spaceBuildpacksV2,omitempty"` // SpaceStacksV2 contains a list of stacks that can be used for CF compatible // builds. SpaceStacksV2 StackV2List `json:"spaceStacksV2,omitempty"` // SpaceStacksV3 contains a list of stacks that can be used for CF compatible // builds. SpaceStacksV3 StackV3List `json:"spaceStacksV3,omitempty"` // SpaceDefaultToV3Stack determines whether v3 stacks should be used by // default over v2 stacks. SpaceDefaultToV3Stack bool `json:"spaceDefaultToV3Stack,omitempty"` // RouteServiceProxyImage is the image URL for the Kf route service proxy deployment. RouteServiceProxyImage string `json:"routeServiceProxyImage,omitempty"` BuildKanikoExecutorImage string `json:"buildKanikoExecutorImage,omitempty"` BuildInfoImage string `json:"buildInfoImage,omitempty"` BuildTokenDownloadImage string `json:"buildTokenDownloadImage,omitempty"` BuildHelpersImage string `json:"buildHelpersImage,omitempty"` NopImage string `json:"nopImage,omitempty"` // BuildpacksV2LifecycleImage is the image URL for the V2 buildpack // lifecycle binaries. It is expected to contain the `launcher` and // `builder` binaries AND to self extract those binaries into /workspace. BuildpacksV2LifecycleImage string `json:"buildpacksV2LifecycleImage,omitempty"` // BuildDisableIstioSidecar when set to true, will prevent the Istio // sidecar from being attached to the Build pods. BuildDisableIstioSidecar bool `json:"buildDisableIstioSidecar,omitempty"` // BuildPodResources sets the Build pod resources field. // NOTE: This is only applicable for built-in Tasks. For V2 builds, this // will be set on two steps and one for V3 and Dockerfiles. This implies // for a V2 build, the required Pod size will be the limit doubled. For // example, if the memory limit is 1Gi, then the pod will require 2Gi. BuildPodResources *corev1.ResourceRequirements `json:"buildPodResources,omitempty"` // BuildRetentionCount is the number of completed Builds each App will // keep before garbage collecting. BuildRetentionCount *uint `json:"buildRetentionCount,omitempty"` // BuildKanikoRobustSnapshotKey turns off fast snapshotting in Kaniko for v2 buildpacks. // This causes significantly higher disk usage, but reduces the risk // of producing incorrect images. Kf apps shoudln't typically need this on. BuildKanikoRobustSnapshot bool `json:"buildKanikoRobustSnapshot,omitempty"` // TaskRetentionCount is the number of completed Tasks each App will // keep before garbage collecting. TaskRetentionCount *uint `json:"taskRetentionCount,omitempty"` // BuildTimeout is the timeout value to set at the underlying TaskRun of Build, it is the time duration // to fail a build that takes too long to complete, valid values are specified in time unit, e.g. "1h", "30m", "60s" BuildTimeout string `json:"buildTimeout,omitempty"` // BuildNodeSelectors is the node selectors for the build node pool. // When it's specified, the Kf build pods are only assigned to the nodes that have labels matching the selectors. BuildNodeSelectors BuildNodeSelectors `json:"buildNodeSelectors,omitempty"` // FeatureFlags is a map of feature names to their status (enabled/disabled) represented as a bool. FeatureFlags FeatureFlagToggles `json:"featureFlags,omitempty"` // Default amount of CPU to assign an app per GB of RAM. AppCPUPerGBOfRAM *resource.Quantity `json:"appCPUPerGBOfRAM,omitempty"` // Minimum amount of CPU to assign an app. AppCPUMin *resource.Quantity `json:"appCPUMin,omitempty"` // AppDisableStartCommandLookup disables the App reconciler from looking // up the start command for Apps which requires fetching the container // configuration for every App. AppDisableStartCommandLookup bool `json:"appDisableStartCommandLookup,omitempty"` // AppEnableServiceAccountOverride allows apps to override the service account via annotation: // apps.kf.dev/service-account-name. AppEnableServiceAccountOverride bool `json:"appEnableServiceAccountOverride,omitempty"` // ProgressDeadlineSeconds contains the maximum time in seconds for a deployment to make progress before it // is considered to be failed. ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty"` // The grace period is the duration in seconds after the processes running in the pod are sent // a termination signal and the time when the processes are forcibly halted with a kill signal. TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"` // RouteTrackVirtualService when set to true, will update Route status with VirtualService conditions. RouteTrackVirtualService bool `json:"routeTrackVirtualService,omitempty"` // RouteDisbaleRetries disables retries in the VirtualServices that route traffic to apps. // By default, Kf leaves the value unset and it's inherited from Istio. RouteDisableRetries bool `json:"routeDisableRetries,omitempty"` // RouteHostIgnoringPort determines whether requests are routed ignoring any ports in the Host header. // By default (false value), the Host header value has to match exactly the preconfigured route host. // e.g By default example.com:443 does not match with a route configured with a Host of example.com. RouteHostIgnoringPort bool `json:"routeHostIgnoringPort,omitempty"` // TaskDefaultTimeoutMinutes sets the cluster-wide timeout for tasks. // If the value is null, the timeout is inherited from Tekton. // If the value is <= 0, then an infinite timeout is set. TaskDefaultTimeoutMinutes *int32 `json:"taskDefaultTimeoutMinutes,omitempty"` // TaskDisableVolumeMounts disables mounting NFS volumes in Tasks. // Mounting NFS volumes requires FUSE which grants Task Pods additional // system privileges. TaskDisableVolumeMounts bool `json:"taskDisableVolumeMounts,omitempty"` }
DefaultsConfig contains the configuration for defaults.
func BuiltinDefaultsConfig ¶
func BuiltinDefaultsConfig() *DefaultsConfig
BuiltinDefaultsConfig creates a defaults configuration with default values.
func NewDefaultsConfigFromConfigMap ¶
func NewDefaultsConfigFromConfigMap(configMap *corev1.ConfigMap) (*DefaultsConfig, error)
NewDefaultsConfigFromConfigMap creates a DefaultsConfig from the supplied ConfigMap with defaults provided by DefaultSpaceConfig for any blank fields.
func (*DefaultsConfig) DeepCopy ¶
func (in *DefaultsConfig) DeepCopy() *DefaultsConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultsConfig.
func (*DefaultsConfig) DeepCopyInto ¶
func (in *DefaultsConfig) DeepCopyInto(out *DefaultsConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DefaultsConfig) PatchConfigMap ¶
func (defaultsConfig *DefaultsConfig) PatchConfigMap(cm *corev1.ConfigMap) error
PatchConfigMap merges values from a DefaultsConfig onto a v1.ConfigMap. This updates the keys that are part of DefaultsConfig while leaving the rest of the original v1.ConfigMap (such as _example) untouched.
type DomainTemplate ¶
type DomainTemplate struct { // Domain is the valid domain that can be used in conjunction with a // hostname and path for a route. Domain string `json:"domain"` // GatewayName is the name of the Istio Gateway supported by the domain. // Values can include a Namespace as a prefix. // Only the kf Namespace is allowed e.g. kf/some-gateway. // See https://istio.io/docs/reference/config/networking/gateway/ GatewayName string `json:"gatewayName,omitempty"` }
DomainTemplate mimics the structure of v1alpha1.SpaceDomain
func (*DomainTemplate) DeepCopy ¶
func (in *DomainTemplate) DeepCopy() *DomainTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainTemplate.
func (*DomainTemplate) DeepCopyInto ¶
func (in *DomainTemplate) DeepCopyInto(out *DomainTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureFlag ¶
type FeatureFlag struct { Name string `json:"name"` Default bool `json:"default"` // contains filtered or unexported fields }
FeatureFlag is the internal representation of a feature flag. If a feature flag is not set in the config-defaults ConfigMap, the value of the flag internally is still defaulted. +k8s:deepcopy-gen=false
func (*FeatureFlag) IsDisabled ¶
func (ff *FeatureFlag) IsDisabled() bool
IsDisabled returns whether or not the feature is disabled.
func (*FeatureFlag) IsEnabled ¶
func (ff *FeatureFlag) IsEnabled() bool
IsEnabled returns whether or not the feature is enabled.
type FeatureFlagToggles ¶
FeatureFlagToggles maps a feature name to a bool representing whether the feature is enabled.
func (FeatureFlagToggles) AppDevExperienceBuilds ¶
func (fft FeatureFlagToggles) AppDevExperienceBuilds() *FeatureFlag
AppDevExperienceBuilds returns the FeatureFlag for enabling the AppDevExperience Builds system (instead of the built-in Kf one).
func (FeatureFlagToggles) CustomBuildpacks ¶
func (fft FeatureFlagToggles) CustomBuildpacks() *FeatureFlag
CustomBuildpacks returns the FeatureFlag for enabling buildpacks outside of the Space-configured ones,
func (FeatureFlagToggles) CustomStacks ¶
func (fft FeatureFlagToggles) CustomStacks() *FeatureFlag
CustomStacks returns the FeatureFlag for enabling stacks outside of the Space-configured ones.,
func (FeatureFlagToggles) DeepCopy ¶
func (in FeatureFlagToggles) DeepCopy() FeatureFlagToggles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureFlagToggles.
func (FeatureFlagToggles) DeepCopyInto ¶
func (in FeatureFlagToggles) DeepCopyInto(out *FeatureFlagToggles)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (FeatureFlagToggles) DisableCustomBuildsFlag ¶
func (fft FeatureFlagToggles) DisableCustomBuildsFlag() *FeatureFlag
DisableCustomBuildsFlag returns the FeatureFlag for disabling custom builds.
func (FeatureFlagToggles) DockerfileBuilds ¶
func (fft FeatureFlagToggles) DockerfileBuilds() *FeatureFlag
DockerfileBuilds returns the FeatureFlag for enabling docker image based builds.
func (FeatureFlagToggles) NfsService ¶
func (fft FeatureFlagToggles) NfsService() *FeatureFlag
NfsService returns the FeatureFlag for enabling the NFS service as a User Provided Service.
func (FeatureFlagToggles) RouteServices ¶
func (fft FeatureFlagToggles) RouteServices() *FeatureFlag
RouteServices returns the FeatureFlag for enabling route services.
func (FeatureFlagToggles) SetAppDevExperienceBuilds ¶
func (fft FeatureFlagToggles) SetAppDevExperienceBuilds(enabled bool)
SetAppDevExperienceBuilds sets the value for the AppDevExperienceBuilds feature flag on a FeatureFlagToggles map.
func (FeatureFlagToggles) SetCustomBuildpacks ¶
func (fft FeatureFlagToggles) SetCustomBuildpacks(enabled bool)
SetCustomBuildpacks sets the value for the custom buildpack feature flag on a FeatureFlagToggles map.
func (FeatureFlagToggles) SetCustomStacks ¶
func (fft FeatureFlagToggles) SetCustomStacks(enabled bool)
SetCustomStacks sets the value for the custom stack feature flag on a FeatureFlagToggles map.
func (FeatureFlagToggles) SetDisableCustomBuilds ¶
func (fft FeatureFlagToggles) SetDisableCustomBuilds(disabled bool)
SetDisableCustomBuilds sets the value for the custom build disabling feature flag on a FeatureFlagToggles map.
func (FeatureFlagToggles) SetDockerfileBuilds ¶
func (fft FeatureFlagToggles) SetDockerfileBuilds(enabled bool)
SetDockerfileBuilds sets the value for the docker build feature flag on a FeatureFlagToggles map.
func (FeatureFlagToggles) SetNfsService ¶
func (fft FeatureFlagToggles) SetNfsService(toggle bool)
SetNfsService sets the value for the NFS service feature flag on a FeatureFlagToggles map.
func (FeatureFlagToggles) SetRouteServices ¶
func (fft FeatureFlagToggles) SetRouteServices(toggle bool)
SetRouteServices sets the value for the route services feature flag on a FeatureFlagToggles map.
type StackV2Definition ¶
type StackV2Definition struct { Name string `json:"name"` Image string `json:"image"` Description string `json:"description,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` }
StackV2Definition contains the definition of a stack.
func (*StackV2Definition) DeepCopy ¶
func (in *StackV2Definition) DeepCopy() *StackV2Definition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackV2Definition.
func (*StackV2Definition) DeepCopyInto ¶
func (in *StackV2Definition) DeepCopyInto(out *StackV2Definition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StackV2Definition) Validate ¶
func (defn *StackV2Definition) Validate(ctx context.Context) (err *apis.FieldError)
Validate implements apis.Validatable
type StackV2List ¶
type StackV2List []StackV2Definition
StackV2List holds an array of StackV2Definition. Its primary use is doing validation over a list of Stacks.
func (StackV2List) DeepCopy ¶
func (in StackV2List) DeepCopy() StackV2List
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackV2List.
func (StackV2List) DeepCopyInto ¶
func (in StackV2List) DeepCopyInto(out *StackV2List)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (StackV2List) FindStackByName ¶
func (list StackV2List) FindStackByName(name string) *StackV2Definition
FindStackByName returns the first stack with the given name or nil if none exists.
Example ¶
list := StackV2List{ { Name: "cflinuxfs3", Image: "cloudfoundry/cflinuxfs3", }, } fmt.Println("doesn't exist:", list.FindStackByName("does-not-exist")) fmt.Println("exists image:", list.FindStackByName("cflinuxfs3").Image)
Output: doesn't exist: <nil> exists image: cloudfoundry/cflinuxfs3
func (StackV2List) Validate ¶
func (list StackV2List) Validate(ctx context.Context) (err *apis.FieldError)
Validate implements apis.Validatable
type StackV3Definition ¶
type StackV3Definition struct { Name string `json:"name"` Description string `json:"description,omitempty"` BuildImage string `json:"buildImage"` RunImage string `json:"runImage"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` }
StackV3Definition contains the definition of a cloud native buildpack stack.
func (*StackV3Definition) DeepCopy ¶
func (in *StackV3Definition) DeepCopy() *StackV3Definition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackV3Definition.
func (*StackV3Definition) DeepCopyInto ¶
func (in *StackV3Definition) DeepCopyInto(out *StackV3Definition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StackV3Definition) Validate ¶
func (defn *StackV3Definition) Validate(ctx context.Context) (err *apis.FieldError)
Validate implements apis.Validatable
type StackV3List ¶
type StackV3List []StackV3Definition
StackV3List holds an array of StackV3Definition. Its primary use is doing validation over a list of Stacks.
func (StackV3List) DeepCopy ¶
func (in StackV3List) DeepCopy() StackV3List
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackV3List.
func (StackV3List) DeepCopyInto ¶
func (in StackV3List) DeepCopyInto(out *StackV3List)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (StackV3List) Validate ¶
func (list StackV3List) Validate(ctx context.Context) (err *apis.FieldError)
Validate implements apis.Validatable
type Store ¶
type Store struct {
*configmap.UntypedStore
}
Store is based on configmap.UntypedStore and is used to store and watch for updates to configuration related to defaults. +k8s:deepcopy-gen=false
func NewDefaultConfigStore ¶
NewDefaultConfigStore creates a config store populated with default keys and values.
func NewStore ¶
NewStore creates a configmap.UntypedStore based config store.
logger must be non-nil implementation of configmap.Logger (commonly used loggers conform)
onAfterStore is a variadic list of callbacks to run after the ConfigMap has been processed and stored.
See also: configmap.NewUntypedStore().