Documentation ¶
Index ¶
Constants ¶
View Source
const ( // DefaultRolloutResyncPeriod is the default time in seconds for rollout resync period DefaultRolloutResyncPeriod = 15 * 60 // DefaultHealthzPort is the default port to check controller's health DefaultHealthzPort = 8080 // DefaultMetricsPort is the default port to expose the metrics endpoint DefaultMetricsPort = 8090 // DefaultRolloutThreads is the default number of rollout worker threads to start with the controller DefaultRolloutThreads = 10 // DefaultExperimentThreads is the default number of experiment worker threads to start with the controller DefaultExperimentThreads = 10 // DefaultAnalysisThreads is the default number of analysis worker threads to start with the controller DefaultAnalysisThreads = 30 // DefaultServiceThreads is the default number of service worker threads to start with the controller DefaultServiceThreads = 10 // DefaultIngressThreads is the default number of ingress worker threads to start with the controller DefaultIngressThreads = 10 // DefaultLeaderElect is the default true leader election should be enabled DefaultLeaderElect = true // DefaultLeaderElectionLeaseDuration is the default time in seconds that non-leader candidates will wait to force acquire leadership DefaultLeaderElectionLeaseDuration = 15 * time.Second // DefaultLeaderElectionRenewDeadline is the default time in seconds that the acting main will retry refreshing leadership before giving up DefaultLeaderElectionRenewDeadline = 10 * time.Second // DefaultLeaderElectionRetryPeriod is the default time in seconds that the leader election clients should wait between tries of actions DefaultLeaderElectionRetryPeriod = 2 * time.Second )
View Source
const (
// HealthzPath is the endpoint to probe if controller is running
HealthzPath = "/healthz"
)
View Source
const (
ProfilingPath = "/debug/pprof"
)
Variables ¶
This section is empty.
Functions ¶
func NewHealthzServer ¶
func NewPProfServer ¶
NewPProfServer returns a new pprof server to gather runtime profiling data
Types ¶
type LeaderElectionOptions ¶
type LeaderElectionOptions struct { LeaderElect bool LeaderElectionNamespace string LeaderElectionLeaseDuration time.Duration LeaderElectionRenewDeadline time.Duration LeaderElectionRetryPeriod time.Duration }
func NewLeaderElectionOptions ¶
func NewLeaderElectionOptions() *LeaderElectionOptions
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager is the controller implementation for Argo-Rollout resources
func NewAnalysisManager ¶
func NewAnalysisManager( namespace string, kubeclientset kubernetes.Interface, argoprojclientset clientset.Interface, jobInformer batchinformers.JobInformer, analysisRunInformer informers.AnalysisRunInformer, analysisTemplateInformer informers.AnalysisTemplateInformer, clusterAnalysisTemplateInformer informers.ClusterAnalysisTemplateInformer, resyncPeriod time.Duration, metricsPort int, healthzPort int, k8sRequestProvider *metrics.K8sRequestsCountProvider, dynamicInformerFactory dynamicinformer.DynamicSharedInformerFactory, clusterDynamicInformerFactory dynamicinformer.DynamicSharedInformerFactory, namespaced bool, kubeInformerFactory kubeinformers.SharedInformerFactory, jobInformerFactory kubeinformers.SharedInformerFactory, ) *Manager
func NewManager ¶
func NewManager( namespace string, kubeclientset kubernetes.Interface, argoprojclientset clientset.Interface, dynamicclientset dynamic.Interface, smiclientset smiclientset.Interface, discoveryClient discovery.DiscoveryInterface, replicaSetInformer appsinformers.ReplicaSetInformer, servicesInformer coreinformers.ServiceInformer, ingressWrap *ingressutil.IngressWrap, jobInformer batchinformers.JobInformer, rolloutsInformer informers.RolloutInformer, experimentsInformer informers.ExperimentInformer, analysisRunInformer informers.AnalysisRunInformer, analysisTemplateInformer informers.AnalysisTemplateInformer, clusterAnalysisTemplateInformer informers.ClusterAnalysisTemplateInformer, istioPrimaryDynamicClient dynamic.Interface, istioVirtualServiceInformer cache.SharedIndexInformer, istioDestinationRuleInformer cache.SharedIndexInformer, notificationConfigMapInformerFactory kubeinformers.SharedInformerFactory, notificationSecretInformerFactory kubeinformers.SharedInformerFactory, resyncPeriod time.Duration, instanceID string, metricsPort int, healthzPort int, k8sRequestProvider *metrics.K8sRequestsCountProvider, nginxIngressClasses []string, albIngressClasses []string, dynamicInformerFactory dynamicinformer.DynamicSharedInformerFactory, clusterDynamicInformerFactory dynamicinformer.DynamicSharedInformerFactory, istioDynamicInformerFactory dynamicinformer.DynamicSharedInformerFactory, namespaced bool, kubeInformerFactory kubeinformers.SharedInformerFactory, jobInformerFactory kubeinformers.SharedInformerFactory, ) *Manager
NewManager returns a new manager to manage all the controllers
func (*Manager) Run ¶
func (c *Manager) Run(ctx context.Context, rolloutThreadiness, serviceThreadiness, ingressThreadiness, experimentThreadiness, analysisThreadiness int, electOpts *LeaderElectionOptions) error
Run will sync informer caches and start controllers. It will block until stopCh is closed, at which point it will shutdown the workqueue and wait for controllers to finish processing their current work items.
Click to show internal directories.
Click to hide internal directories.