Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Reconciler ¶
type Reconciler struct { client.Client Scheme *runtime.Scheme // contains filtered or unexported fields }
Reconciler reconciles an AppRollout object
func NewReconciler ¶ added in v1.0.4
func NewReconciler(c client.Client, dm discoverymapper.DiscoveryMapper, record event.Recorder, scheme *runtime.Scheme) *Reconciler
NewReconciler render a applicationRollout reconciler
func (*Reconciler) DoReconcile ¶ added in v1.0.4
func (r *Reconciler) DoReconcile(ctx context.Context, appRollout *v1beta1.AppRollout) (reconcile.Result, error)
DoReconcile is real reconcile logic for appRollout. 1.prepare rollout info: use assemble module in application pkg to generate manifest with appRevision 2.determine which component is the common component between source and target AppRevision 3.if target workload isn't exist yet, template the targetAppRevision to apply target manifest 4.extract target workload and source workload(if sourceAppRevision not empty) 5.generate a rolloutPlan controller with source and target workload and call rolloutPlan's reconcile func 6.handle output status !!! Note the AppRollout object should not be updated in this function as it could be logically used in Application reconcile loop which does not have real AppRollout object.
func (*Reconciler) SetupWithManager ¶
func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager setup the controller with manager