Adjust code to apply to breaking changes in controller-runtime. There
should be no breaking changes for programs using crossplane-runtime.
Signed-off-by: Maximilian Blatt <maximilian.blatt-extern@deutschebahn.com>
It's breaking the dependencies of this module, and its only consumer is
the c/c repo. It should live there instead.
Signed-off-by: Nic Cope <nicc@rk0n.org>
This PR tweaks how ratelimiters are applied to support _actual_ global reconcile
rate limiting - that is all reconcile triggers are rate limited, not just some.
See https://github.com/crossplane/crossplane/issues/2595 for details.
Signed-off-by: Nic Cope <negz@rk0n.org>
I don't really expect these to be used in practice. They're mostly useful for
places like the XRD controllers where we need a default set of options to plumb
down to the XR and XRC controllers when none are passed to use (i.e. in tests).
Signed-off-by: Nic Cope <negz@rk0n.org>
This type is intended to be passed as the argument to most Crossplane Setup
functions, for example:
```go
func Setup(mgr ctrl.Manager, o controller.Options) error
```
This allows us to add new options to be plumbed down to all or most controllers
without increasing the number of arguments provided to each Setup function. Sets
of controllers that require additional arguments (e.g. the pkg controllers from
crossplane/crossplane) can define their own Options struct that embeds this one.
Signed-off-by: Nic Cope <negz@rk0n.org>