diff --git a/pkg/reconciler/claimbinding/api.go b/pkg/reconciler/claimbinding/api.go index f3b9c8a0b..771c3c3b1 100644 --- a/pkg/reconciler/claimbinding/api.go +++ b/pkg/reconciler/claimbinding/api.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package claimbinding import ( "context" diff --git a/pkg/reconciler/claimbinding/api_test.go b/pkg/reconciler/claimbinding/api_test.go index 1ec8484c2..eac84a4f4 100644 --- a/pkg/reconciler/claimbinding/api_test.go +++ b/pkg/reconciler/claimbinding/api_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package claimbinding import ( "context" diff --git a/pkg/reconciler/claimbinding/configurator.go b/pkg/reconciler/claimbinding/configurator.go index 62d9e1c20..c51f6e425 100644 --- a/pkg/reconciler/claimbinding/configurator.go +++ b/pkg/reconciler/claimbinding/configurator.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package claimbinding import ( "context" diff --git a/pkg/reconciler/claimbinding/configurator_test.go b/pkg/reconciler/claimbinding/configurator_test.go index edc54fdad..89bf89cf1 100644 --- a/pkg/reconciler/claimbinding/configurator_test.go +++ b/pkg/reconciler/claimbinding/configurator_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package claimbinding import ( "context" diff --git a/pkg/reconciler/claimbinding/reconciler.go b/pkg/reconciler/claimbinding/reconciler.go index c8a7416fb..0091b6afc 100644 --- a/pkg/reconciler/claimbinding/reconciler.go +++ b/pkg/reconciler/claimbinding/reconciler.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package claimbinding import ( "context" diff --git a/pkg/reconciler/claimbinding/reconciler_test.go b/pkg/reconciler/claimbinding/reconciler_test.go index e1849dcc3..df7a07532 100644 --- a/pkg/reconciler/claimbinding/reconciler_test.go +++ b/pkg/reconciler/claimbinding/reconciler_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package claimbinding import ( "context" diff --git a/pkg/reconciler/claimscheduling/reconciler.go b/pkg/reconciler/claimscheduling/reconciler.go index 0dc73a4b4..7721262f0 100644 --- a/pkg/reconciler/claimscheduling/reconciler.go +++ b/pkg/reconciler/claimscheduling/reconciler.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package claimscheduling import ( "context" diff --git a/pkg/reconciler/claimscheduling/reconciler_test.go b/pkg/reconciler/claimscheduling/reconciler_test.go index 82a160fbb..ea199e623 100644 --- a/pkg/reconciler/claimscheduling/reconciler_test.go +++ b/pkg/reconciler/claimscheduling/reconciler_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package claimscheduling import ( "strconv" diff --git a/pkg/reconciler/managed/api.go b/pkg/reconciler/managed/api.go index dae95ad0b..7186ef15e 100644 --- a/pkg/reconciler/managed/api.go +++ b/pkg/reconciler/managed/api.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package managed import ( "context" @@ -37,19 +37,19 @@ const ( errUpdateManagedStatus = "cannot update managed resource status" ) -// An APIManagedFinalizer adds and removes finalizers to and from a resource. -type APIManagedFinalizer struct { +// An APIFinalizer adds and removes finalizers to and from a resource. +type APIFinalizer struct { client client.Client finalizer string } -// NewAPIManagedFinalizer returns a new APIManagedFinalizer. -func NewAPIManagedFinalizer(c client.Client, finalizer string) *APIManagedFinalizer { - return &APIManagedFinalizer{client: c, finalizer: finalizer} +// NewAPIFinalizer returns a new APIFinalizer. +func NewAPIFinalizer(c client.Client, finalizer string) *APIFinalizer { + return &APIFinalizer{client: c, finalizer: finalizer} } // AddFinalizer to the supplied Managed resource. -func (a *APIManagedFinalizer) AddFinalizer(ctx context.Context, mg resource.Managed) error { +func (a *APIFinalizer) AddFinalizer(ctx context.Context, mg resource.Managed) error { if meta.FinalizerExists(mg, a.finalizer) { return nil } @@ -58,23 +58,23 @@ func (a *APIManagedFinalizer) AddFinalizer(ctx context.Context, mg resource.Mana } // RemoveFinalizer from the supplied Managed resource. -func (a *APIManagedFinalizer) RemoveFinalizer(ctx context.Context, mg resource.Managed) error { +func (a *APIFinalizer) RemoveFinalizer(ctx context.Context, mg resource.Managed) error { meta.RemoveFinalizer(mg, a.finalizer) return errors.Wrap(resource.IgnoreNotFound(a.client.Update(ctx, mg)), errUpdateManaged) } -// ManagedNameAsExternalName writes the name of the managed resource to +// NameAsExternalName writes the name of the managed resource to // the external name annotation field in order to be used as name of // the external resource in provider. -type ManagedNameAsExternalName struct{ client client.Client } +type NameAsExternalName struct{ client client.Client } -// NewManagedNameAsExternalName returns a new ManagedNameAsExternalName. -func NewManagedNameAsExternalName(c client.Client) *ManagedNameAsExternalName { - return &ManagedNameAsExternalName{client: c} +// NewNameAsExternalName returns a new NameAsExternalName. +func NewNameAsExternalName(c client.Client) *NameAsExternalName { + return &NameAsExternalName{client: c} } // Initialize the given managed resource. -func (a *ManagedNameAsExternalName) Initialize(ctx context.Context, mg resource.Managed) error { +func (a *NameAsExternalName) Initialize(ctx context.Context, mg resource.Managed) error { if meta.GetExternalName(mg) != "" { return nil } diff --git a/pkg/reconciler/managed/api_test.go b/pkg/reconciler/managed/api_test.go index d1adccaaf..4bf09624f 100644 --- a/pkg/reconciler/managed/api_test.go +++ b/pkg/reconciler/managed/api_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package managed import ( "context" @@ -38,8 +38,8 @@ import ( ) var ( - _ ManagedFinalizer = &APIManagedFinalizer{} - _ ManagedInitializer = &ManagedNameAsExternalName{} + _ Finalizer = &APIFinalizer{} + _ Initializer = &NameAsExternalName{} ) func TestManagedRemoveFinalizer(t *testing.T) { @@ -88,7 +88,7 @@ func TestManagedRemoveFinalizer(t *testing.T) { for name, tc := range cases { t.Run(name, func(t *testing.T) { - api := NewAPIManagedFinalizer(tc.client, finalizer) + api := NewAPIFinalizer(tc.client, finalizer) err := api.RemoveFinalizer(tc.args.ctx, tc.args.mg) if diff := cmp.Diff(tc.want.err, err, test.EquateErrors()); diff != "" { t.Errorf("api.RemoveFinalizer(...): -want error, +got error:\n%s", diff) @@ -100,7 +100,7 @@ func TestManagedRemoveFinalizer(t *testing.T) { } } -func TestAPIManagedFinalizerAdder(t *testing.T) { +func TestAPIFinalizerAdder(t *testing.T) { finalizer := "veryfinal" type args struct { @@ -146,7 +146,7 @@ func TestAPIManagedFinalizerAdder(t *testing.T) { for name, tc := range cases { t.Run(name, func(t *testing.T) { - api := NewAPIManagedFinalizer(tc.client, finalizer) + api := NewAPIFinalizer(tc.client, finalizer) err := api.AddFinalizer(tc.args.ctx, tc.args.mg) if diff := cmp.Diff(tc.want.err, err, test.EquateErrors()); diff != "" { t.Errorf("api.Initialize(...): -want error, +got error:\n%s", diff) @@ -158,7 +158,7 @@ func TestAPIManagedFinalizerAdder(t *testing.T) { } } -func TestManagedNameAsExternalName(t *testing.T) { +func TestNameAsExternalName(t *testing.T) { type args struct { ctx context.Context mg resource.Managed @@ -225,7 +225,7 @@ func TestManagedNameAsExternalName(t *testing.T) { for name, tc := range cases { t.Run(name, func(t *testing.T) { - api := NewManagedNameAsExternalName(tc.client) + api := NewNameAsExternalName(tc.client) err := api.Initialize(tc.args.ctx, tc.args.mg) if diff := cmp.Diff(tc.want.err, err, test.EquateErrors()); diff != "" { t.Errorf("api.Initialize(...): -want error, +got error:\n%s", diff) diff --git a/pkg/reconciler/managed/publisher.go b/pkg/reconciler/managed/publisher.go index 6c7ab3c45..a25572a4b 100644 --- a/pkg/reconciler/managed/publisher.go +++ b/pkg/reconciler/managed/publisher.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package managed import ( "context" @@ -23,9 +23,9 @@ import ( ) // A PublisherChain chains multiple ManagedPublishers. -type PublisherChain []ManagedConnectionPublisher +type PublisherChain []ConnectionPublisher -// PublishConnection calls each ManagedConnectionPublisher.PublishConnection serially. It returns the first error it +// PublishConnection calls each ConnectionPublisher.PublishConnection serially. It returns the first error it // encounters, if any. func (pc PublisherChain) PublishConnection(ctx context.Context, mg resource.Managed, c ConnectionDetails) error { for _, p := range pc { @@ -36,7 +36,7 @@ func (pc PublisherChain) PublishConnection(ctx context.Context, mg resource.Mana return nil } -// UnpublishConnection calls each ManagedConnectionPublisher.UnpublishConnection serially. It returns the first error it +// UnpublishConnection calls each ConnectionPublisher.UnpublishConnection serially. It returns the first error it // encounters, if any. func (pc PublisherChain) UnpublishConnection(ctx context.Context, mg resource.Managed, c ConnectionDetails) error { for _, p := range pc { diff --git a/pkg/reconciler/managed/publisher_test.go b/pkg/reconciler/managed/publisher_test.go index 2e476c524..6391a7168 100644 --- a/pkg/reconciler/managed/publisher_test.go +++ b/pkg/reconciler/managed/publisher_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package managed import ( "context" @@ -29,8 +29,8 @@ import ( ) var ( - _ ManagedConnectionPublisher = &APISecretPublisher{} - _ ManagedConnectionPublisher = PublisherChain{} + _ ConnectionPublisher = &APISecretPublisher{} + _ ConnectionPublisher = PublisherChain{} ) func TestPublisherChain(t *testing.T) { @@ -43,7 +43,7 @@ func TestPublisherChain(t *testing.T) { errBoom := errors.New("boom") cases := map[string]struct { - p ManagedConnectionPublisher + p ConnectionPublisher args args want error }{ @@ -58,7 +58,7 @@ func TestPublisherChain(t *testing.T) { }, "SuccessfulPublisher": { p: PublisherChain{ - ManagedConnectionPublisherFns{ + ConnectionPublisherFns{ PublishConnectionFn: func(_ context.Context, mg resource.Managed, c ConnectionDetails) error { return nil }, @@ -76,7 +76,7 @@ func TestPublisherChain(t *testing.T) { }, "PublisherReturnsError": { p: PublisherChain{ - ManagedConnectionPublisherFns{ + ConnectionPublisherFns{ PublishConnectionFn: func(_ context.Context, mg resource.Managed, c ConnectionDetails) error { return errBoom }, diff --git a/pkg/reconciler/managed/reconciler.go b/pkg/reconciler/managed/reconciler.go index 12d77018f..bf4cf7295 100644 --- a/pkg/reconciler/managed/reconciler.go +++ b/pkg/reconciler/managed/reconciler.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package managed import ( "context" @@ -58,10 +58,10 @@ var log = logging.Logger.WithName("controller") // resource, for example usernames, passwords, endpoints, ports, etc. type ConnectionDetails map[string][]byte -// A ManagedConnectionPublisher manages the supplied ConnectionDetails for the +// A ConnectionPublisher manages the supplied ConnectionDetails for the // supplied Managed resource. ManagedPublishers must handle the case in which // the supplied ConnectionDetails are empty. -type ManagedConnectionPublisher interface { +type ConnectionPublisher interface { // PublishConnection details for the supplied Managed resource. Publishing // must be additive; i.e. if details (a, b, c) are published, subsequently // publicing details (b, c, d) should update (b, c) but not remove a. @@ -71,33 +71,33 @@ type ManagedConnectionPublisher interface { UnpublishConnection(ctx context.Context, mg resource.Managed, c ConnectionDetails) error } -// ManagedConnectionPublisherFns is the pluggable struct to produce objects with ManagedConnectionPublisher interface. -type ManagedConnectionPublisherFns struct { +// ConnectionPublisherFns is the pluggable struct to produce objects with ConnectionPublisher interface. +type ConnectionPublisherFns struct { PublishConnectionFn func(ctx context.Context, mg resource.Managed, c ConnectionDetails) error UnpublishConnectionFn func(ctx context.Context, mg resource.Managed, c ConnectionDetails) error } // PublishConnection details for the supplied Managed resource. -func (fn ManagedConnectionPublisherFns) PublishConnection(ctx context.Context, mg resource.Managed, c ConnectionDetails) error { +func (fn ConnectionPublisherFns) PublishConnection(ctx context.Context, mg resource.Managed, c ConnectionDetails) error { return fn.PublishConnectionFn(ctx, mg, c) } // UnpublishConnection details for the supplied Managed resource. -func (fn ManagedConnectionPublisherFns) UnpublishConnection(ctx context.Context, mg resource.Managed, c ConnectionDetails) error { +func (fn ConnectionPublisherFns) UnpublishConnection(ctx context.Context, mg resource.Managed, c ConnectionDetails) error { return fn.UnpublishConnectionFn(ctx, mg, c) } -// A ManagedInitializer establishes ownership of the supplied Managed resource. +// A Initializer establishes ownership of the supplied Managed resource. // This typically involves the operations that are run before calling any // ExternalClient methods. -type ManagedInitializer interface { +type Initializer interface { Initialize(ctx context.Context, mg resource.Managed) error } // A InitializerChain chains multiple managed initializers. -type InitializerChain []ManagedInitializer +type InitializerChain []Initializer -// Initialize calls each ManagedInitializer serially. It returns the first +// Initialize calls each Initializer serially. It returns the first // error it encounters, if any. func (cc InitializerChain) Initialize(ctx context.Context, mg resource.Managed) error { for _, c := range cc { @@ -108,8 +108,8 @@ func (cc InitializerChain) Initialize(ctx context.Context, mg resource.Managed) return nil } -// A ManagedFinalizer finalizes the deletion of a resource claim. -type ManagedFinalizer interface { +// A Finalizer finalizes the deletion of a resource claim. +type Finalizer interface { // AddFinalizer to the supplied Managed resource. AddFinalizer(ctx context.Context, mg resource.Managed) error @@ -117,33 +117,33 @@ type ManagedFinalizer interface { RemoveFinalizer(ctx context.Context, mg resource.Managed) error } -// A ManagedFinalizerFns satisfy the ManagedFinalizer interface. -type ManagedFinalizerFns struct { +// A FinalizerFns satisfy the Finalizer interface. +type FinalizerFns struct { AddFinalizerFn func(ctx context.Context, mg resource.Managed) error RemoveFinalizerFn func(ctx context.Context, mg resource.Managed) error } // AddFinalizer to the supplied Managed resource. -func (f ManagedFinalizerFns) AddFinalizer(ctx context.Context, mg resource.Managed) error { +func (f FinalizerFns) AddFinalizer(ctx context.Context, mg resource.Managed) error { return f.AddFinalizerFn(ctx, mg) } // RemoveFinalizer from the supplied Managed resource. -func (f ManagedFinalizerFns) RemoveFinalizer(ctx context.Context, mg resource.Managed) error { +func (f FinalizerFns) RemoveFinalizer(ctx context.Context, mg resource.Managed) error { return f.RemoveFinalizerFn(ctx, mg) } -// A ManagedInitializerFn is a function that satisfies the ManagedInitializer +// A InitializerFn is a function that satisfies the Initializer // interface. -type ManagedInitializerFn func(ctx context.Context, mg resource.Managed) error +type InitializerFn func(ctx context.Context, mg resource.Managed) error -// Initialize calls ManagedInitializerFn function. -func (m ManagedInitializerFn) Initialize(ctx context.Context, mg resource.Managed) error { +// Initialize calls InitializerFn function. +func (m InitializerFn) Initialize(ctx context.Context, mg resource.Managed) error { return m(ctx, mg) } -// A ManagedReferenceResolver resolves references to other managed resources. -type ManagedReferenceResolver interface { +// A ReferenceResolver resolves references to other managed resources. +type ReferenceResolver interface { // ResolveReferences finds all fields in the supplied CanReference that are // references to Kubernetes resources, then uses the fields of those // resources to update corresponding fields in CanReference, for example @@ -152,12 +152,12 @@ type ManagedReferenceResolver interface { ResolveReferences(ctx context.Context, res CanReference) error } -// A ManagedReferenceResolverFn is a function that satisfies the -// ManagedReferenceResolver interface. -type ManagedReferenceResolverFn func(context.Context, CanReference) error +// A ReferenceResolverFn is a function that satisfies the +// ReferenceResolver interface. +type ReferenceResolverFn func(context.Context, CanReference) error -// ResolveReferences calls ManagedReferenceResolverFn function -func (m ManagedReferenceResolverFn) ResolveReferences(ctx context.Context, res CanReference) error { +// ResolveReferences calls ReferenceResolverFn function +func (m ReferenceResolverFn) ResolveReferences(ctx context.Context, res CanReference) error { return m(ctx, res) } @@ -306,18 +306,18 @@ type Reconciler struct { } type mrManaged struct { - ManagedConnectionPublisher - ManagedFinalizer - ManagedInitializer - ManagedReferenceResolver + ConnectionPublisher + Finalizer + Initializer + ReferenceResolver } func defaultMRManaged(m manager.Manager) mrManaged { return mrManaged{ - ManagedConnectionPublisher: NewAPISecretPublisher(m.GetClient(), m.GetScheme()), - ManagedFinalizer: NewAPIManagedFinalizer(m.GetClient(), managedFinalizerName), - ManagedInitializer: NewManagedNameAsExternalName(m.GetClient()), - ManagedReferenceResolver: NewAPIManagedReferenceResolver(m.GetClient()), + ConnectionPublisher: NewAPISecretPublisher(m.GetClient(), m.GetScheme()), + Finalizer: NewAPIFinalizer(m.GetClient(), managedFinalizerName), + Initializer: NewNameAsExternalName(m.GetClient()), + ReferenceResolver: NewAPIReferenceResolver(m.GetClient()), } } @@ -363,35 +363,35 @@ func WithExternalConnecter(c ExternalConnecter) ReconcilerOption { } } -// WithManagedConnectionPublishers specifies how the Reconciler should publish +// WithConnectionPublishers specifies how the Reconciler should publish // its connection details such as credentials and endpoints. -func WithManagedConnectionPublishers(p ...ManagedConnectionPublisher) ReconcilerOption { +func WithConnectionPublishers(p ...ConnectionPublisher) ReconcilerOption { return func(r *Reconciler) { - r.managed.ManagedConnectionPublisher = PublisherChain(p) + r.managed.ConnectionPublisher = PublisherChain(p) } } -// WithManagedInitializers specifies how the Reconciler should initialize a +// WithInitializers specifies how the Reconciler should initialize a // managed resource before calling any of the ExternalClient functions. -func WithManagedInitializers(i ...ManagedInitializer) ReconcilerOption { +func WithInitializers(i ...Initializer) ReconcilerOption { return func(r *Reconciler) { - r.managed.ManagedInitializer = InitializerChain(i) + r.managed.Initializer = InitializerChain(i) } } -// WithManagedFinalizer specifies how the Reconciler should add and remove +// WithFinalizer specifies how the Reconciler should add and remove // finalizers to and from the managed resource. -func WithManagedFinalizer(f ManagedFinalizer) ReconcilerOption { +func WithFinalizer(f Finalizer) ReconcilerOption { return func(r *Reconciler) { - r.managed.ManagedFinalizer = f + r.managed.Finalizer = f } } -// WithManagedReferenceResolver specifies how the Reconciler should resolve any +// WithReferenceResolver specifies how the Reconciler should resolve any // inter-resource references it encounters while reconciling managed resources. -func WithManagedReferenceResolver(rr ManagedReferenceResolver) ReconcilerOption { +func WithReferenceResolver(rr ReferenceResolver) ReconcilerOption { return func(r *Reconciler) { - r.managed.ManagedReferenceResolver = rr + r.managed.ReferenceResolver = rr } } diff --git a/pkg/reconciler/managed/reconciler_test.go b/pkg/reconciler/managed/reconciler_test.go index 4c53024c7..84e4393e4 100644 --- a/pkg/reconciler/managed/reconciler_test.go +++ b/pkg/reconciler/managed/reconciler_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package managed import ( "context" @@ -131,7 +131,7 @@ func TestReconciler(t *testing.T) { mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ WithExternalConnecter(&NopConnecter{}), - WithManagedInitializers(ManagedInitializerFn(func(_ context.Context, mg resource.Managed) error { + WithInitializers(InitializerFn(func(_ context.Context, mg resource.Managed) error { return errBoom })), }, @@ -158,9 +158,9 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), + WithInitializers(), WithExternalConnecter(&NopConnecter{}), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, res CanReference) error { + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, res CanReference) error { return errNotReady })), }, @@ -187,9 +187,9 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), + WithInitializers(), WithExternalConnecter(&NopConnecter{}), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, res CanReference) error { + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, res CanReference) error { return errBoom })), }, @@ -217,7 +217,7 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), + WithInitializers(), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -257,8 +257,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -301,8 +301,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -343,8 +343,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -353,7 +353,7 @@ func TestReconciler(t *testing.T) { } return c, nil })), - WithManagedConnectionPublishers(ManagedConnectionPublisherFns{ + WithConnectionPublishers(ConnectionPublisherFns{ UnpublishConnectionFn: func(_ context.Context, _ resource.Managed, _ ConnectionDetails) error { return errBoom }, }), }, @@ -385,8 +385,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -395,8 +395,8 @@ func TestReconciler(t *testing.T) { } return c, nil })), - WithManagedConnectionPublishers(), - WithManagedFinalizer(ManagedFinalizerFns{RemoveFinalizerFn: func(_ context.Context, _ resource.Managed) error { return errBoom }}), + WithConnectionPublishers(), + WithFinalizer(FinalizerFns{RemoveFinalizerFn: func(_ context.Context, _ resource.Managed) error { return errBoom }}), }, }, want: want{result: reconcile.Result{RequeueAfter: defaultManagedShortWait}}, @@ -416,8 +416,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -426,8 +426,8 @@ func TestReconciler(t *testing.T) { } return c, nil })), - WithManagedConnectionPublishers(), - WithManagedFinalizer(ManagedFinalizerFns{RemoveFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), + WithConnectionPublishers(), + WithFinalizer(FinalizerFns{RemoveFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), }, }, want: want{result: reconcile.Result{Requeue: false}}, @@ -453,10 +453,10 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(&NopConnecter{}), - WithManagedConnectionPublishers(ManagedConnectionPublisherFns{ + WithConnectionPublishers(ConnectionPublisherFns{ PublishConnectionFn: func(_ context.Context, _ resource.Managed, _ ConnectionDetails) error { return errBoom }, }), }, @@ -484,11 +484,11 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(&NopConnecter{}), - WithManagedConnectionPublishers(), - WithManagedFinalizer(ManagedFinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return errBoom }}), + WithConnectionPublishers(), + WithFinalizer(FinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return errBoom }}), }, }, want: want{result: reconcile.Result{RequeueAfter: defaultManagedShortWait}}, @@ -514,8 +514,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -527,8 +527,8 @@ func TestReconciler(t *testing.T) { } return c, nil })), - WithManagedConnectionPublishers(), - WithManagedFinalizer(ManagedFinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), + WithConnectionPublishers(), + WithFinalizer(FinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), }, }, want: want{result: reconcile.Result{RequeueAfter: defaultManagedShortWait}}, @@ -554,8 +554,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -568,7 +568,7 @@ func TestReconciler(t *testing.T) { } return c, nil })), - WithManagedConnectionPublishers(ManagedConnectionPublisherFns{ + WithConnectionPublishers(ConnectionPublisherFns{ PublishConnectionFn: func(_ context.Context, _ resource.Managed, cd ConnectionDetails) error { // We're called after observe, create, and update // but we only want to fail when publishing details @@ -579,7 +579,7 @@ func TestReconciler(t *testing.T) { return nil }, }), - WithManagedFinalizer(ManagedFinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), + WithFinalizer(FinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), }, }, want: want{result: reconcile.Result{RequeueAfter: defaultManagedShortWait}}, @@ -605,11 +605,11 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(&NopConnecter{}), - WithManagedConnectionPublishers(), - WithManagedFinalizer(ManagedFinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), + WithConnectionPublishers(), + WithFinalizer(FinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), }, }, want: want{result: reconcile.Result{RequeueAfter: defaultManagedShortWait}}, @@ -635,8 +635,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -645,8 +645,8 @@ func TestReconciler(t *testing.T) { } return c, nil })), - WithManagedConnectionPublishers(), - WithManagedFinalizer(ManagedFinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), + WithConnectionPublishers(), + WithFinalizer(FinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), }, }, want: want{result: reconcile.Result{RequeueAfter: defaultManagedLongWait}}, @@ -672,8 +672,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -685,8 +685,8 @@ func TestReconciler(t *testing.T) { } return c, nil })), - WithManagedConnectionPublishers(), - WithManagedFinalizer(ManagedFinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), + WithConnectionPublishers(), + WithFinalizer(FinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), }, }, want: want{result: reconcile.Result{RequeueAfter: defaultManagedShortWait}}, @@ -712,8 +712,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -726,7 +726,7 @@ func TestReconciler(t *testing.T) { } return c, nil })), - WithManagedConnectionPublishers(ManagedConnectionPublisherFns{ + WithConnectionPublishers(ConnectionPublisherFns{ PublishConnectionFn: func(_ context.Context, _ resource.Managed, cd ConnectionDetails) error { // We're called after observe, create, and update // but we only want to fail when publishing details @@ -737,7 +737,7 @@ func TestReconciler(t *testing.T) { return nil }, }), - WithManagedFinalizer(ManagedFinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), + WithFinalizer(FinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), }, }, want: want{result: reconcile.Result{RequeueAfter: defaultManagedShortWait}}, @@ -763,8 +763,8 @@ func TestReconciler(t *testing.T) { }, mg: resource.ManagedKind(fake.GVK(&fake.Managed{})), o: []ReconcilerOption{ - WithManagedInitializers(), - WithManagedReferenceResolver(ManagedReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), + WithInitializers(), + WithReferenceResolver(ReferenceResolverFn(func(_ context.Context, _ CanReference) error { return nil })), WithExternalConnecter(ExternalConnectorFn(func(_ context.Context, mg resource.Managed) (ExternalClient, error) { c := &ExternalClientFns{ ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) { @@ -776,8 +776,8 @@ func TestReconciler(t *testing.T) { } return c, nil })), - WithManagedConnectionPublishers(), - WithManagedFinalizer(ManagedFinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), + WithConnectionPublishers(), + WithFinalizer(FinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Managed) error { return nil }}), }, }, want: want{result: reconcile.Result{RequeueAfter: defaultManagedLongWait}}, diff --git a/pkg/reconciler/managed/reference_resolver.go b/pkg/reconciler/managed/reference_resolver.go index 20cc2377f..a6e0ffb66 100644 --- a/pkg/reconciler/managed/reference_resolver.go +++ b/pkg/reconciler/managed/reference_resolver.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package managed import ( "context" @@ -132,32 +132,32 @@ func (fn AttributeReferencerFinderFn) FindReferencers(obj interface{}) []Attribu return fn(obj) } -// An APIManagedReferenceResolver finds and resolves a resource's references, +// An APIReferenceResolver finds and resolves a resource's references, // then updates it in the Kubernetes API. -type APIManagedReferenceResolver struct { +type APIReferenceResolver struct { client client.Client finder AttributeReferencerFinder } -// An APIManagedReferenceResolverOption configures an -// APIManagedReferenceResolver. -type APIManagedReferenceResolverOption func(*APIManagedReferenceResolver) +// An APIReferenceResolverOption configures an +// APIReferenceResolver. +type APIReferenceResolverOption func(*APIReferenceResolver) // WithAttributeReferencerFinder specifies an AttributeReferencerFinder used to // find AttributeReferencers. -func WithAttributeReferencerFinder(f AttributeReferencerFinder) APIManagedReferenceResolverOption { - return func(r *APIManagedReferenceResolver) { +func WithAttributeReferencerFinder(f AttributeReferencerFinder) APIReferenceResolverOption { + return func(r *APIReferenceResolver) { r.finder = f } } -// NewAPIManagedReferenceResolver returns an APIManagedReferenceResolver. The +// NewAPIReferenceResolver returns an APIReferenceResolver. The // resolver uses reflection to recursively finds all pointer types in a struct // that satisfy AttributeReferencer by default. It assesses only pointers, // structs, and slices because it is assumed that only struct fields or slice // elements that are pointers to a struct will satisfy AttributeReferencer. -func NewAPIManagedReferenceResolver(c client.Client, o ...APIManagedReferenceResolverOption) *APIManagedReferenceResolver { - r := &APIManagedReferenceResolver{ +func NewAPIReferenceResolver(c client.Client, o ...APIReferenceResolverOption) *APIReferenceResolver { + r := &APIReferenceResolver{ client: c, finder: AttributeReferencerFinderFn(findReferencers), } @@ -170,7 +170,7 @@ func NewAPIManagedReferenceResolver(c client.Client, o ...APIManagedReferenceRes } // ResolveReferences resolves references made to other managed resources -func (r *APIManagedReferenceResolver) ResolveReferences(ctx context.Context, res CanReference) error { +func (r *APIReferenceResolver) ResolveReferences(ctx context.Context, res CanReference) error { // Retrieve all the referencer fields from the managed resource. referencers := r.finder.FindReferencers(res) diff --git a/pkg/reconciler/managed/reference_resolver_test.go b/pkg/reconciler/managed/reference_resolver_test.go index 5ad91ae64..072f3165a 100644 --- a/pkg/reconciler/managed/reference_resolver_test.go +++ b/pkg/reconciler/managed/reference_resolver_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package managed import ( "context" @@ -59,13 +59,13 @@ func TestResolveReferences(t *testing.T) { cases := map[string]struct { reason string c client.Client - o []APIManagedReferenceResolverOption + o []APIReferenceResolverOption args args want error }{ "NoReferencersFound": { reason: "Should return early without error when no referencers are found.", - o: []APIManagedReferenceResolverOption{ + o: []APIReferenceResolverOption{ WithAttributeReferencerFinder(AttributeReferencerFinderFn(func(_ interface{}) []AttributeReferencer { return nil })), @@ -77,7 +77,7 @@ func TestResolveReferences(t *testing.T) { }, "GetStatusError": { reason: "Should return an error when a referencer.GetStatus returns an error.", - o: []APIManagedReferenceResolverOption{ + o: []APIReferenceResolverOption{ WithAttributeReferencerFinder(AttributeReferencerFinderFn(func(_ interface{}) []AttributeReferencer { return []AttributeReferencer{ &mockReferencer{ @@ -95,7 +95,7 @@ func TestResolveReferences(t *testing.T) { }, "ReferencesBlocked": { reason: "Should return a reference access error when a referencer.GetStatus reports unready references.", - o: []APIManagedReferenceResolverOption{ + o: []APIReferenceResolverOption{ WithAttributeReferencerFinder(AttributeReferencerFinderFn(func(_ interface{}) []AttributeReferencer { return []AttributeReferencer{ &mockReferencer{ @@ -113,7 +113,7 @@ func TestResolveReferences(t *testing.T) { }, "BuildValueError": { reason: "Should return an error when a referencer.Build returns an error.", - o: []APIManagedReferenceResolverOption{ + o: []APIReferenceResolverOption{ WithAttributeReferencerFinder(AttributeReferencerFinderFn(func(_ interface{}) []AttributeReferencer { return []AttributeReferencer{ &mockReferencer{ @@ -135,7 +135,7 @@ func TestResolveReferences(t *testing.T) { }, "AssignValueError": { reason: "Should return an error when a referencer.Assign returns an error.", - o: []APIManagedReferenceResolverOption{ + o: []APIReferenceResolverOption{ WithAttributeReferencerFinder(AttributeReferencerFinderFn(func(_ interface{}) []AttributeReferencer { return []AttributeReferencer{ &mockReferencer{ @@ -163,7 +163,7 @@ func TestResolveReferences(t *testing.T) { c: &test.MockClient{ MockUpdate: test.NewMockUpdateFn(nil), }, - o: []APIManagedReferenceResolverOption{ + o: []APIReferenceResolverOption{ WithAttributeReferencerFinder(AttributeReferencerFinderFn(func(_ interface{}) []AttributeReferencer { return []AttributeReferencer{ &mockReferencer{ @@ -191,7 +191,7 @@ func TestResolveReferences(t *testing.T) { c: &test.MockClient{ MockUpdate: test.NewMockUpdateFn(nil), }, - o: []APIManagedReferenceResolverOption{ + o: []APIReferenceResolverOption{ WithAttributeReferencerFinder(AttributeReferencerFinderFn(func(_ interface{}) []AttributeReferencer { return []AttributeReferencer{ &mockReferencer{ @@ -226,7 +226,7 @@ func TestResolveReferences(t *testing.T) { c: &test.MockClient{ MockUpdate: test.NewMockUpdateFn(errBoom), }, - o: []APIManagedReferenceResolverOption{ + o: []APIReferenceResolverOption{ WithAttributeReferencerFinder(AttributeReferencerFinderFn(func(_ interface{}) []AttributeReferencer { return []AttributeReferencer{ &mockReferencer{ @@ -256,7 +256,7 @@ func TestResolveReferences(t *testing.T) { for name, tc := range cases { t.Run(name, func(t *testing.T) { - r := NewAPIManagedReferenceResolver(tc.c, tc.o...) + r := NewAPIReferenceResolver(tc.c, tc.o...) got := r.ResolveReferences(tc.args.ctx, tc.args.res) if diff := cmp.Diff(tc.want, got, test.EquateErrors()); diff != "" { t.Errorf("\nReason: %s\r.ResolveReferences(...): -want, +got:\n%s", tc.reason, diff) diff --git a/pkg/reconciler/target/reconciler.go b/pkg/reconciler/target/reconciler.go index 490a9029d..9937b6678 100644 --- a/pkg/reconciler/target/reconciler.go +++ b/pkg/reconciler/target/reconciler.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package target import ( "context" diff --git a/pkg/reconciler/target/reconciler_test.go b/pkg/reconciler/target/reconciler_test.go index 61432e597..4aa9066f9 100644 --- a/pkg/reconciler/target/reconciler_test.go +++ b/pkg/reconciler/target/reconciler_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource +package target import ( "context"