Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetExperimentFromTemplate ¶ added in v0.6.0
func GetExperimentFromTemplate(r *v1alpha1.Rollout, stableRS, newRS *appsv1.ReplicaSet) (*v1alpha1.Experiment, error)
GetExperimentFromTemplate takes the canary experiment step and converts it to an experiment
Types ¶
type Controller ¶ added in v0.9.0
type Controller struct {
// contains filtered or unexported fields
}
Controller is the controller implementation for Rollout resources
func NewController ¶ added in v0.9.0
func NewController(cfg ControllerConfig) *Controller
NewController returns a new rollout controller
func (*Controller) NewTrafficRoutingReconciler ¶ added in v0.9.0
func (c *Controller) NewTrafficRoutingReconciler(roCtx rolloutContext) (TrafficRoutingReconciler, error)
NewTrafficRoutingReconciler identifies return the TrafficRouting Plugin that the rollout wants to modify
func (*Controller) Run ¶ added in v0.9.0
func (c *Controller) Run(threadiness int, stopCh <-chan struct{}) error
Run will set up the event handlers for types we are interested in, as well as syncing informer caches and starting workers. It will block until stopCh is closed, at which point it will shutdown the workqueue and wait for workers to finish processing their current work items.
type ControllerConfig ¶ added in v0.9.0
type ControllerConfig struct { Namespace string KubeClientSet kubernetes.Interface ArgoProjClientset clientset.Interface DynamicClientSet dynamic.Interface SmiClientSet smiclientset.Interface ExperimentInformer informers.ExperimentInformer AnalysisRunInformer informers.AnalysisRunInformer AnalysisTemplateInformer informers.AnalysisTemplateInformer ClusterAnalysisTemplateInformer informers.ClusterAnalysisTemplateInformer ReplicaSetInformer appsinformers.ReplicaSetInformer ServicesInformer coreinformers.ServiceInformer IngressInformer extensionsinformers.IngressInformer RolloutsInformer informers.RolloutInformer ResyncPeriod time.Duration RolloutWorkQueue workqueue.RateLimitingInterface ServiceWorkQueue workqueue.RateLimitingInterface IngressWorkQueue workqueue.RateLimitingInterface MetricsServer *metrics.MetricsServer Recorder record.EventRecorder DefaultIstioVersion string DefaultTrafficSplitVersion string }
ControllerConfig describes the data required to instantiate a new rollout controller
type RolloutPodRestarter ¶ added in v0.8.0
type RolloutPodRestarter struct {
// contains filtered or unexported fields
}
RolloutPodRestarter describes the components needed for the controller to restart all the pods of a rollout.
func (*RolloutPodRestarter) Reconcile ¶ added in v0.8.0
func (p *RolloutPodRestarter) Reconcile(roCtx rolloutContext) error
type SortReplicaSetsByPriority ¶ added in v0.8.0
type SortReplicaSetsByPriority struct {
// contains filtered or unexported fields
}
SortReplicaSetsByPriority sorts the ReplicaSets with the following Priority: 1. Stable RS 2. New RS 3. Older ReplicaSets
func NewSortReplicaSetsByPriority ¶ added in v0.8.0
func NewSortReplicaSetsByPriority(roCtx rolloutContext) SortReplicaSetsByPriority
func (SortReplicaSetsByPriority) Len ¶ added in v0.8.0
func (s SortReplicaSetsByPriority) Len() int
func (SortReplicaSetsByPriority) Less ¶ added in v0.8.0
func (s SortReplicaSetsByPriority) Less(i, j int) bool
func (SortReplicaSetsByPriority) Swap ¶ added in v0.8.0
func (s SortReplicaSetsByPriority) Swap(i, j int)
type TrafficRoutingReconciler ¶ added in v0.7.0
TrafficRoutingReconciler common function across all TrafficRouting implementation