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>
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'd like to reuse these existing ratelimiters for crossplane, where the names
'Provider' and 'Managed' don't make as much sense.
Signed-off-by: Nic Cope <negz@rk0n.org>
Updates comments in managed reconciler to indicate requeues are not tied
to short wait but instead are explicit and trigger the configured
backoff strategy.
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
Adds default rate limiters to be used at both the provider and
controller level. The provider rate limiter is a configurable token
bucket and the controller limiter is a max of limiter that uses the
provider limiter and a per-item exponential backoff.
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>