Documentation
¶
Overview ¶
Package manager provides the Run helper that wires up all cyclops controllers and starts the controller-runtime manager.
Both cmd/manager/main.go and the integration test suite use this package so the production wiring and the test wiring stay in sync.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Run ¶
Run registers the cyclops scheme, all three controllers, and metrics on the given manager, then starts the manager. It blocks until ctx is cancelled or the manager exits.
This function is the single source of truth for controller wiring. Both cmd/manager/main.go and the integration test suite call it so that the production wiring and the test wiring stay in sync.
Types ¶
type Dependencies ¶
type Dependencies struct {
// CloudProvider is used by the CNR and CNS reconcilers to interact with
// the cloud provider (e.g. AWS). Required.
CloudProvider cloudprovider.CloudProvider
// Notifier is used to push progress notifications (e.g. Slack). Optional.
Notifier notifications.Notifier
// Namespace is the Kubernetes namespace where CycleNodeRequests and
// CycleNodeStatuses are watched.
Namespace string
// CNROptions configures the CycleNodeRequest transitioner.
CNROptions cnrTransitioner.Options
// CNSOptions configures the CycleNodeStatus transitioner.
CNSOptions cnsTransitioner.Options
// NodeOptions configures the node reconciler.
NodeOptions nodecontroller.Options
}
Dependencies holds the external collaborators required to run cyclops. The zero value is valid for optional fields (Notifier may be nil).