Documentation

Overview

    Package v1alpha1 provides the ControllerManagerConfiguration used for configuring ctrl.Manager +kubebuilder:object:generate=true

    Index

    Constants

    This section is empty.

    Variables

    View Source
    var (
    	// GroupVersion is group version used to register these objects
    	GroupVersion = schema.GroupVersion{Group: "controller-runtime.sigs.k8s.io", Version: "v1alpha1"}
    
    	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
    	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
    
    	// AddToScheme adds the types in this group-version to the given scheme.
    	AddToScheme = SchemeBuilder.AddToScheme
    )

    Functions

    This section is empty.

    Types

    type ControllerHealth

    type ControllerHealth struct {
    	// HealthProbeBindAddress is the TCP address that the controller should bind to
    	// for serving health probes
    	// +optional
    	HealthProbeBindAddress string `json:"healthProbeBindAddress,omitempty"`
    
    	// ReadinessEndpointName, defaults to "readyz"
    	// +optional
    	ReadinessEndpointName string `json:"readinessEndpointName,omitempty"`
    
    	// LivenessEndpointName, defaults to "healthz"
    	// +optional
    	LivenessEndpointName string `json:"livenessEndpointName,omitempty"`
    }

      ControllerHealth defines the health configs

      func (*ControllerHealth) DeepCopy

      func (in *ControllerHealth) DeepCopy() *ControllerHealth

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

        func (*ControllerHealth) DeepCopyInto

        func (in *ControllerHealth) DeepCopyInto(out *ControllerHealth)

          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

          type ControllerManagerConfiguration

          type ControllerManagerConfiguration struct {
          	metav1.TypeMeta `json:",inline"`
          
          	// ControllerManagerConfiguration returns the contfigurations for controllers
          	ControllerManagerConfigurationSpec `json:",inline"`
          }

            ControllerManagerConfiguration is the Schema for the GenericControllerManagerConfigurations API

            func (*ControllerManagerConfiguration) DeepCopy

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

              func (*ControllerManagerConfiguration) DeepCopyInto

                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                func (*ControllerManagerConfiguration) DeepCopyObject

                func (in *ControllerManagerConfiguration) DeepCopyObject() runtime.Object

                  DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

                  type ControllerManagerConfigurationSpec

                  type ControllerManagerConfigurationSpec 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.
                  	// +optional
                  	SyncPeriod *metav1.Duration `json:"syncPeriod,omitempty"`
                  
                  	// LeaderElection is the LeaderElection config to be used when configuring
                  	// the manager.Manager leader election
                  	// +optional
                  	LeaderElection *configv1alpha1.LeaderElectionConfiguration `json:"leaderElection,omitempty"`
                  
                  	// CacheNamespace if specified restricts the manager's cache to watch objects in
                  	// the desired namespace Defaults to all namespaces
                  	//
                  	// Note: If a namespace is specified, controllers can still Watch for a
                  	// cluster-scoped resource (e.g Node).  For namespaced resources the cache
                  	// will only hold objects from the desired namespace.
                  	// +optional
                  	CacheNamespace string `json:"cacheNamespace,omitempty"`
                  
                  	// GracefulShutdownTimeout is the duration given to runnable to stop before the manager actually returns on stop.
                  	// To disable graceful shutdown, set to time.Duration(0)
                  	// To use graceful shutdown without timeout, set to a negative duration, e.G. time.Duration(-1)
                  	// The graceful shutdown is skipped for safety reasons in case the leadere election lease is lost.
                  	GracefulShutdownTimeout *metav1.Duration `json:"gracefulShutDown,omitempty"`
                  
                  	// Metrics contains thw controller metrics configuration
                  	// +optional
                  	Metrics ControllerMetrics `json:"metrics,omitempty"`
                  
                  	// Health contains the controller health configuration
                  	// +optional
                  	Health ControllerHealth `json:"health,omitempty"`
                  
                  	// Webhook contains the controllers webhook configuration
                  	// +optional
                  	Webhook ControllerWebhook `json:"webhook,omitempty"`
                  }

                    ControllerManagerConfigurationSpec defines the desired state of GenericControllerManagerConfiguration

                    func (*ControllerManagerConfigurationSpec) Complete

                      Complete returns the configuration for controller-runtime

                      func (*ControllerManagerConfigurationSpec) DeepCopy

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

                        func (*ControllerManagerConfigurationSpec) DeepCopyInto

                          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                          type ControllerMetrics

                          type ControllerMetrics struct {
                          	// BindAddress is the TCP address that the controller should bind to
                          	// for serving prometheus metrics.
                          	// It can be set to "0" to disable the metrics serving.
                          	// +optional
                          	BindAddress string `json:"bindAddress,omitempty"`
                          }

                            ControllerMetrics defines the metrics configs

                            func (*ControllerMetrics) DeepCopy

                            func (in *ControllerMetrics) DeepCopy() *ControllerMetrics

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

                              func (*ControllerMetrics) DeepCopyInto

                              func (in *ControllerMetrics) DeepCopyInto(out *ControllerMetrics)

                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                type ControllerWebhook

                                type ControllerWebhook struct {
                                	// Port is the port that the webhook server serves at.
                                	// It is used to set webhook.Server.Port.
                                	// +optional
                                	Port *int `json:"port,omitempty"`
                                
                                	// Host is the hostname that the webhook server binds to.
                                	// It is used to set webhook.Server.Host.
                                	// +optional
                                	Host string `json:"host,omitempty"`
                                
                                	// CertDir is the directory that contains the server key and certificate.
                                	// if not set, webhook server would look up the server key and certificate in
                                	// {TempDir}/k8s-webhook-server/serving-certs. The server key and certificate
                                	// must be named tls.key and tls.crt, respectively.
                                	// +optional
                                	CertDir string `json:"certDir,omitempty"`
                                }

                                  ControllerWebhook defines the webhook server for the controller

                                  func (*ControllerWebhook) DeepCopy

                                  func (in *ControllerWebhook) DeepCopy() *ControllerWebhook

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

                                    func (*ControllerWebhook) DeepCopyInto

                                    func (in *ControllerWebhook) DeepCopyInto(out *ControllerWebhook)

                                      DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.