Skip to content

Commit c805f17

Browse files
committed
refactoring
1 parent c2bbf4b commit c805f17

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

pkg/component/reconciler.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
corev1 "k8s.io/api/core/v1"
2020
apierrors "k8s.io/apimachinery/pkg/api/errors"
2121
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
22+
"k8s.io/apimachinery/pkg/runtime/schema"
2223
apitypes "k8s.io/apimachinery/pkg/types"
2324
utilerrors "k8s.io/apimachinery/pkg/util/errors"
2425
"k8s.io/client-go/discovery"
@@ -94,6 +95,7 @@ type ReconcilerOptions struct {
9495
type Reconciler[T Component] struct {
9596
name string
9697
id string
98+
groupVersionKind schema.GroupVersionKind
9799
client cluster.Client
98100
resourceGenerator manifests.Generator
99101
statusAnalyzer status.StatusAnalyzer
@@ -152,18 +154,14 @@ func (r *Reconciler[T]) Reconcile(ctx context.Context, req ctrl.Request) (result
152154

153155
// fetch reconciled object
154156
component := newComponent[T]()
155-
gvk, err := apiutil.GVKForObject(component, r.client.Scheme())
156-
if err != nil {
157-
return ctrl.Result{}, errors.Wrap(err, "error getting type metadata for component")
158-
}
159157
if err := r.client.Get(ctx, req.NamespacedName, component); err != nil {
160158
if apierrors.IsNotFound(err) {
161159
log.V(1).Info("not found; ignoring")
162160
return ctrl.Result{}, nil
163161
}
164162
return ctrl.Result{}, errors.Wrap(err, "unexpected get error")
165163
}
166-
component.GetObjectKind().SetGroupVersionKind(gvk)
164+
component.GetObjectKind().SetGroupVersionKind(r.groupVersionKind)
167165

168166
// convenience accessors
169167
status := component.GetStatus()
@@ -482,6 +480,12 @@ func (r *Reconciler[T]) SetupWithManagerAndBuilder(mgr ctrl.Manager, blder *ctrl
482480
}
483481

484482
component := newComponent[T]()
483+
484+
r.groupVersionKind, err = apiutil.GVKForObject(component, r.client.Scheme())
485+
if err != nil {
486+
return errors.Wrap(err, "error getting type metadata for component")
487+
}
488+
485489
if err := blder.
486490
For(component, builder.WithPredicates(predicate.Or(predicate.GenerationChangedPredicate{}, predicate.AnnotationChangedPredicate{}))).
487491
Complete(r); err != nil {

0 commit comments

Comments
 (0)