v0.2.0
Pre-release
Pre-release
This is primarily a bug fix release, but includes several API and behaviour changes.
Bug Fixes
- #57 - Resource claim scheduling and defaulting controllers only try once to allocate a claim to a class.
- #62 - A managed resource with unresolved references cannot be deleted.
- #63 - Managed resources with incorrect or insufficient provider credentials cannot be deleted.
Breaking Changes
- The
resource.ManagedBinder
interface and theresource.WithManagedBinder
argument toresource.NewClaimReconciler
are nowresource.Binder
, andresource.WithBinder
. The newBinder
type handles both the binding and unbinding of resource claims to managed resources. - The
resource.ClaimFinalizer
interface now handles the addition and removal of resource claim finalizers. Previously it handled only removal. - The
resource.ManagedFinalizer
interface now handles the addition and removal of managed resource finalizers. Previously it handled only removal. - The
resource.WithManagedFinalizers
resource.ManagedReconcilerOption
is nowresource.WithManagedFinalizer
, and accepts only a singleresource.ManagedFinalizer
. - The
resource.WithManagedFinalizer
resource.ClaimReconcilerOption
has been removed.
Behaviour Changes
resource.ManagedReconciler
now adds finalizers to managed resources immediately before creating the external resource. Previously they were added immediately after the managed resource was created.resource.ManagedReconciler
now resolves resource references on every reconcile.AttributeReferencer
fields (particularly those that append to a slice during theAssign
phase) must ensure they are idempotent.resource.ClaimReconciler
now adds a finalizers to resource claims immediately before binding and removes them after unbinding. Previously they were added only at dynamic provisioning time.resource.NewClaimReconciler
now defaults to assuming managed resources support the status subresource during claim binding. Passresource.WithBinder(resource.NewAPIBinder(...))
for managed resources that do not support the status subresource.resource.ClaimSchedulingReconciler
andresource.ClaimDefaultingReconciler
will now retry allocation of a resource claim to a resource class after a brief wait when no suitable classes are found.- The
resource.ManagedReconciler
andresource.ClaimReconciler
no longer attempt to queue another reconciler or update the status of the resource under reconciliation after its finalizer has been removed.