config

package
v0.104.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 5 Imported by: 2

Documentation

Overview

+groupName=config.landscaper.gardener.cloud

Index

Constants

View Source
const GroupName = "config.landscaper.gardener.cloud"

GroupName is the name of the Garden API group.

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

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

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContextControllerDefaultConfig.

func (*ContextControllerDefaultConfig) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrdManagementConfiguration.

func (*CrdManagementConfiguration) DeepCopyInto

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GarbageCollectionConfiguration.

func (*GarbageCollectionConfiguration) DeepCopyInto

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

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

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"`
	// +optional
	UseOCMLib bool `json:"useOCMLib,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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalRegistryConfiguration.

func (*LocalRegistryConfiguration) DeepCopyInto

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

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

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

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 added in v0.104.0

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"
)

Directories

Path Synopsis
+groupName=config.landscaper.gardener.cloud
+groupName=config.landscaper.gardener.cloud

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL