Documentation
¶
Overview ¶
+groupName=config.landscaper.gardener.cloud
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type AdditionalDeployments
- type BlueprintStore
- type CommonControllerConfig
- type ContextControllerConfig
- type ContextControllerDefaultConfig
- type ContextsController
- type Controllers
- type CrdManagementConfiguration
- type DeployItemTimeouts
- type DeployItemsController
- type ExecutionsController
- type GarbageCollectionConfiguration
- type HPAMainConfiguration
- type IndexMethod
- type InstallationsController
- type LandscaperConfiguration
- type LocalRegistryConfiguration
- type LsDeployments
- type MetricsConfiguration
- type OCICacheConfiguration
- type OCIConfiguration
- type RegistryConfiguration
- type SignatureVerificationEnforcementPolicy
Constants ¶
const GroupName = "config.landscaper.gardener.cloud"
GroupName is the name of the Garden API group.
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AdditionalDeployments ¶
type AdditionalDeployments struct {
// Deployments is the list of deployments that shall be watched.
Deployments []string
}
AdditionalDeployments is the definition of additional deployments that shall be watched.
func (*AdditionalDeployments) DeepCopy ¶
func (in *AdditionalDeployments) DeepCopy() *AdditionalDeployments
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalDeployments.
func (*AdditionalDeployments) DeepCopyInto ¶
func (in *AdditionalDeployments) DeepCopyInto(out *AdditionalDeployments)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlueprintStore ¶
type BlueprintStore struct {
// Path defines the root path where the blueprints are cached.
Path string
// DisableCache disables the cache and always fetches the blob from the registry.
// The blueprint is still stored on the filesystem.
DisableCache bool
// IndexMethod describes the method that should be used to index blueprints in the store.
// If component descriptors and blueprint are immutable (blueprints cannot be updated) use ComponentDescriptorIdentityMethod
// otherwise use the BlueprintDigestIndex to index by the content hash.
// Defaults to ComponentDescriptorIdentityMethod
// +optional
IndexMethod IndexMethod
GarbageCollectionConfiguration
}
BlueprintStore contains the configuration for the blueprint store.
func (*BlueprintStore) DeepCopy ¶
func (in *BlueprintStore) DeepCopy() *BlueprintStore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueprintStore.
func (*BlueprintStore) DeepCopyInto ¶
func (in *BlueprintStore) DeepCopyInto(out *BlueprintStore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonControllerConfig ¶
type CommonControllerConfig struct {
// Workers is the maximum number of concurrent Reconciles which can be run.
// Defaults to 1.
Workers int
// CacheSyncTimeout refers to the time limit set to wait for syncing the kubernetes resource caches.
// Defaults to 2 minutes if not set.
CacheSyncTimeout *metav1.Duration
}
CommonControllerConfig describes common controller configuration that can be included in the specific controller configurations.
func (*CommonControllerConfig) DeepCopy ¶
func (in *CommonControllerConfig) DeepCopy() *CommonControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonControllerConfig.
func (*CommonControllerConfig) DeepCopyInto ¶
func (in *CommonControllerConfig) DeepCopyInto(out *CommonControllerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContextControllerConfig ¶
type ContextControllerConfig struct {
Default ContextControllerDefaultConfig
}
ContextControllerConfig contains the context specific configuration.
func (*ContextControllerConfig) DeepCopy ¶
func (in *ContextControllerConfig) DeepCopy() *ContextControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContextControllerConfig.
func (*ContextControllerConfig) DeepCopyInto ¶
func (in *ContextControllerConfig) DeepCopyInto(out *ContextControllerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContextControllerDefaultConfig ¶
type ContextControllerDefaultConfig struct {
// Disable disables the default controller.
// If disabled no default contexts are created.
Disable bool
// ExcludedNamespaces defines a list of namespaces where no default context should be created.
// +optional
ExcludedNamespaces []string
// RepositoryContext defines the default repository context that should be used to resolve component descriptors.
// +optional
RepositoryContext *cdv2.UnstructuredTypedObject
}
ContextControllerDefaultConfig contains the configuration for the context defaults.
func (*ContextControllerDefaultConfig) DeepCopy ¶
func (in *ContextControllerDefaultConfig) DeepCopy() *ContextControllerDefaultConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContextControllerDefaultConfig.
func (*ContextControllerDefaultConfig) DeepCopyInto ¶
func (in *ContextControllerDefaultConfig) DeepCopyInto(out *ContextControllerDefaultConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContextsController ¶
type ContextsController struct {
CommonControllerConfig
Config ContextControllerConfig
}
ContextsController contains all configuration for the context controller.
func (*ContextsController) DeepCopy ¶
func (in *ContextsController) DeepCopy() *ContextsController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContextsController.
func (*ContextsController) DeepCopyInto ¶
func (in *ContextsController) DeepCopyInto(out *ContextsController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Controllers ¶
type Controllers struct {
// SyncPeriod determines the minimum frequency at which watched resources are
// reconciled. A lower period will correct entropy more quickly, but reduce
// responsiveness to change if there are many watched resources. Change this
// value only if you know what you are doing. Defaults to 10 hours if unset.
// there will a 10 percent jitter between the SyncPeriod of all controllers
// so that all controllers will not send list requests simultaneously.
//
// This applies to all controllers.
//
// A period sync happens for two reasons:
// 1. To insure against a bug in the controller that causes an object to not
// be requeued, when it otherwise should be requeued.
// 2. To insure against an unknown bug in controller-runtime, or its dependencies,
// that causes an object to not be requeued, when it otherwise should be
// requeued, or to be removed from the queue, when it otherwise should not
// be removed.
SyncPeriod *metav1.Duration
// Installations contains the controller config that reconciles installations.
Installations InstallationsController
// Installations contains the controller config that reconciles executions.
Executions ExecutionsController
// DeployItems contains the controller config that reconciles deploy items.
DeployItems DeployItemsController
// Contexts contains the controller config that reconciles context objects.
Contexts ContextsController
}
Controllers contains all configuration for the specific controllers
func (*Controllers) DeepCopy ¶
func (in *Controllers) DeepCopy() *Controllers
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Controllers.
func (*Controllers) DeepCopyInto ¶
func (in *Controllers) DeepCopyInto(out *Controllers)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CrdManagementConfiguration ¶
type CrdManagementConfiguration struct {
// DeployCustomResourceDefinitions specifies if CRDs should be deployed
DeployCustomResourceDefinitions *bool `json:"deployCrd"`
// ForceUpdate specifies whether existing CRDs should be updated
// +optional
ForceUpdate *bool `json:"forceUpdate,omitempty"`
}
CrdManagementConfiguration contains the configuration of the CRD management
func (*CrdManagementConfiguration) DeepCopy ¶
func (in *CrdManagementConfiguration) DeepCopy() *CrdManagementConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrdManagementConfiguration.
func (*CrdManagementConfiguration) DeepCopyInto ¶
func (in *CrdManagementConfiguration) DeepCopyInto(out *CrdManagementConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeployItemTimeouts ¶
type DeployItemTimeouts struct {
// PickupTimeout defines how long a deployer can take to react on changes to a deploy item before the landscaper will mark it as failed.
// Allowed values are 'none' (to disable pickup timeout detection) and anything that is understood by golang's time.ParseDuration method.
// Defaults to five minutes if not specified.
// +optional
Pickup *lscore.Duration
// Abort specifies how long the deployer may take to abort handling a deploy item after getting the abort annotation.
// Allowed values are 'none' (to disable abort timeout detection) and anything that is understood by golang's time.ParseDuration method.
// Defaults to five minutes if not specified.
// +optional
Abort *lscore.Duration
}
DeployItemTimeouts contains multiple timeout configurations for deploy items
func (*DeployItemTimeouts) DeepCopy ¶
func (in *DeployItemTimeouts) DeepCopy() *DeployItemTimeouts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployItemTimeouts.
func (*DeployItemTimeouts) DeepCopyInto ¶
func (in *DeployItemTimeouts) DeepCopyInto(out *DeployItemTimeouts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeployItemsController ¶
type DeployItemsController struct {
CommonControllerConfig
}
DeployItemsController contains the controller config that reconciles deploy items.
func (*DeployItemsController) DeepCopy ¶
func (in *DeployItemsController) DeepCopy() *DeployItemsController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployItemsController.
func (*DeployItemsController) DeepCopyInto ¶
func (in *DeployItemsController) DeepCopyInto(out *DeployItemsController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutionsController ¶
type ExecutionsController struct {
CommonControllerConfig
}
ExecutionsController contains the controller config that reconciles executions.
func (*ExecutionsController) DeepCopy ¶
func (in *ExecutionsController) DeepCopy() *ExecutionsController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutionsController.
func (*ExecutionsController) DeepCopyInto ¶
func (in *ExecutionsController) DeepCopyInto(out *ExecutionsController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GarbageCollectionConfiguration ¶
type GarbageCollectionConfiguration struct {
// Size is the size of the filesystem.
// If the value is 0 there is no limit and no garbage collection will happen.
// See the kubernetes quantity docs for detailed description of the format
// https://github.com/kubernetes/apimachinery/blob/master/pkg/api/resource/quantity.go
Size string
// GCHighThreshold defines the percent of disk usage which triggers files garbage collection.
GCHighThreshold float64
// GCLowThreshold defines the percent of disk usage to which files garbage collection attempts to free.
GCLowThreshold float64
// ResetInterval defines the interval when the hit reset should run.
ResetInterval metav1.Duration
// PreservedHitsProportion defines the percent of hits that should be preserved.
PreservedHitsProportion float64
}
GarbageCollectionConfiguration contains all options for the cache garbage collection.
func (*GarbageCollectionConfiguration) DeepCopy ¶
func (in *GarbageCollectionConfiguration) DeepCopy() *GarbageCollectionConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GarbageCollectionConfiguration.
func (*GarbageCollectionConfiguration) DeepCopyInto ¶
func (in *GarbageCollectionConfiguration) DeepCopyInto(out *GarbageCollectionConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HPAMainConfiguration ¶
type HPAMainConfiguration struct {
MaxReplicas int32 `json:"maxReplicas,omitempty"`
}
HPAMainConfiguration contains the HPA configuration (horizontal pod autoscaling) for the main controllers (Installation and Execution controller).
func (*HPAMainConfiguration) DeepCopy ¶
func (in *HPAMainConfiguration) DeepCopy() *HPAMainConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HPAMainConfiguration.
func (*HPAMainConfiguration) DeepCopyInto ¶
func (in *HPAMainConfiguration) DeepCopyInto(out *HPAMainConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IndexMethod ¶
type IndexMethod string
IndexMethod describes the blueprint store index method
const ( // BlueprintDigestIndex describes a IndexMethod that uses the digest of the blueprint. // This is useful if blueprints and component descriptors are not immutable (e.g. during development) BlueprintDigestIndex IndexMethod = "BlueprintDigestIndex" // ComponentDescriptorIdentityMethod describes a IndexMethod that uses the component descriptor identity. // This means that the blueprint is uniquely identified using the component-descriptors repository, name and version // with the blueprint resource identity. ComponentDescriptorIdentityMethod IndexMethod = "ComponentDescriptorIdentityMethod" )
type InstallationsController ¶
type InstallationsController struct {
CommonControllerConfig
}
InstallationsController contains the controller config that reconciles installations.
func (*InstallationsController) DeepCopy ¶
func (in *InstallationsController) DeepCopy() *InstallationsController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallationsController.
func (*InstallationsController) DeepCopyInto ¶
func (in *InstallationsController) DeepCopyInto(out *InstallationsController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LandscaperConfiguration ¶
type LandscaperConfiguration struct {
metav1.TypeMeta
// Controllers contains all controller specific configuration.
Controllers Controllers
// RepositoryContext defines the default repository context that should be used to resolve component descriptors.
// DEPRECATED: use controllers.context.config.default.repositoryContext instead.
// +optional
RepositoryContext *cdv2.UnstructuredTypedObject
// Registry configures the landscaper registry to resolve component descriptors, blueprints and other artifacts.
Registry RegistryConfiguration
// BlueprintStore contains the configuration for the blueprint cache.
BlueprintStore BlueprintStore
// Metrics allows to configure how metrics are exposed
//+optional
Metrics *MetricsConfiguration
// CrdManagement configures whether the landscaper controller should deploy the CRDs it needs into the cluster
// +optional
CrdManagement CrdManagementConfiguration
// DeployItemTimeouts contains configuration for multiple deploy item timeouts
// +optional
DeployItemTimeouts *DeployItemTimeouts
// LsDeployments contains the names of the landscaper deployments
// +optional
LsDeployments *LsDeployments
// HPAMainConfiguration contains the HPA configuration (horizontal pod autoscaling)
// for the main controllers (Installation and Execution controller).
// +optional
HPAMainConfiguration *HPAMainConfiguration `json:"hpaMain,omitempty"`
// SignatureVerificationEnforcementPolicy defines how the landscaper handles signature verification.
SignatureVerificationEnforcementPolicy SignatureVerificationEnforcementPolicy `json:"signatureVerificationEnforcementPolicy,omitempty"`
}
LandscaperConfiguration contains all configuration for the landscaper controllers
func (*LandscaperConfiguration) DeepCopy ¶
func (in *LandscaperConfiguration) DeepCopy() *LandscaperConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LandscaperConfiguration.
func (*LandscaperConfiguration) DeepCopyInto ¶
func (in *LandscaperConfiguration) DeepCopyInto(out *LandscaperConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LandscaperConfiguration) DeepCopyObject ¶
func (in *LandscaperConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LocalRegistryConfiguration ¶
type LocalRegistryConfiguration struct {
// RootPath configures the root path of a local registry.
// This path is used to search for components locally.
RootPath string `json:"rootPath"`
}
LocalRegistryConfiguration contains the configuration for a local registry
func (*LocalRegistryConfiguration) DeepCopy ¶
func (in *LocalRegistryConfiguration) DeepCopy() *LocalRegistryConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalRegistryConfiguration.
func (*LocalRegistryConfiguration) DeepCopyInto ¶
func (in *LocalRegistryConfiguration) DeepCopyInto(out *LocalRegistryConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LsDeployments ¶
type LsDeployments struct {
// LsController is the name of the Landscaper controller deployment.
LsController string
// LsMainController is the name of the main Landscaper controller deployment.
// +optional
LsMainController string
// LsController is the name of the Landscaper webhook server deployment.
WebHook string
// DeploymentsNamespace is the namespace in which the deployments are located.
DeploymentsNamespace string
// LsHealthCheckName is the name of the LsHealthCheck object.
LsHealthCheckName string
// AdditionalDeployments is the definition of additional deployments that shall be watched.
// +optional
AdditionalDeployments *AdditionalDeployments
}
LsDeployments contains the names of the landscaper deployments.
func (*LsDeployments) DeepCopy ¶
func (in *LsDeployments) DeepCopy() *LsDeployments
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LsDeployments.
func (*LsDeployments) DeepCopyInto ¶
func (in *LsDeployments) DeepCopyInto(out *LsDeployments)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricsConfiguration ¶
type MetricsConfiguration struct {
// Port specifies the port on which metrics are published
Port int32 `json:"port"`
}
MetricsConfiguration allows to configure how metrics are exposed
func (*MetricsConfiguration) DeepCopy ¶
func (in *MetricsConfiguration) DeepCopy() *MetricsConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsConfiguration.
func (*MetricsConfiguration) DeepCopyInto ¶
func (in *MetricsConfiguration) DeepCopyInto(out *MetricsConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OCICacheConfiguration ¶
type OCICacheConfiguration struct {
// UseInMemoryOverlay enables an additional in memory overlay cache of oci images
// +optional
UseInMemoryOverlay bool `json:"useInMemoryOverlay,omitempty"`
// Path specifies the path to the oci cache on the filesystem.
// Defaults to /tmp/ocicache
// +optional
Path string `json:"path"`
}
OCICacheConfiguration contains the configuration for the oci cache
func (*OCICacheConfiguration) DeepCopy ¶
func (in *OCICacheConfiguration) DeepCopy() *OCICacheConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCICacheConfiguration.
func (*OCICacheConfiguration) DeepCopyInto ¶
func (in *OCICacheConfiguration) DeepCopyInto(out *OCICacheConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OCIConfiguration ¶
type OCIConfiguration struct {
// ConfigFiles path to additional docker configuration files
// +optional
ConfigFiles []string `json:"configFiles,omitempty"`
// Cache holds configuration for the oci cache
// +optional
Cache *OCICacheConfiguration `json:"cache,omitempty"`
// AllowPlainHttp allows the fallback to http if https is not supported by the registry.
AllowPlainHttp bool `json:"allowPlainHttp"`
// InsecureSkipVerify skips the certificate validation of the oci registry
InsecureSkipVerify bool `json:"insecureSkipVerify"`
}
OCIConfiguration holds configuration for the oci registry
func (*OCIConfiguration) DeepCopy ¶
func (in *OCIConfiguration) DeepCopy() *OCIConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIConfiguration.
func (*OCIConfiguration) DeepCopyInto ¶
func (in *OCIConfiguration) DeepCopyInto(out *OCIConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryConfiguration ¶
type RegistryConfiguration struct {
// Local defines a local registry to use for definitions
// +optional
Local *LocalRegistryConfiguration `json:"local,omitempty"`
// OCI defines a oci registry to use for definitions
// +optional
OCI *OCIConfiguration `json:"oci,omitempty"`
}
RegistryConfiguration contains the configuration for the used definition registry
func (*RegistryConfiguration) DeepCopy ¶
func (in *RegistryConfiguration) DeepCopy() *RegistryConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryConfiguration.
func (*RegistryConfiguration) DeepCopyInto ¶
func (in *RegistryConfiguration) DeepCopyInto(out *RegistryConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SignatureVerificationEnforcementPolicy ¶
type SignatureVerificationEnforcementPolicy string
SignatureVerificationEnforcementPolicy describes the policy for signature verification +enum
const ( // Enforce will enforce all instalations to have valid signatures before being worked on. Disabling the verification on installation level has no impact. Enforce SignatureVerificationEnforcementPolicy = "Enforce" // DoNotEnforce does not enforce a global policy. Signature verification can be enabled in the installation if desired. [DEFAULT] DoNotEnforce SignatureVerificationEnforcementPolicy = "DoNotEnforce" // Disabled explcitly disables signature verification. Enabling the verification on installation level will not have an effect and the verification will still be disabled. Disabled SignatureVerificationEnforcementPolicy = "Disabled" )