Skip to content

Commit 77c7dd3

Browse files
authored
Merge pull request #136 from greghaynes/resourcegroup-object-reconciler
2 parents 10a66df + b37e91f commit 77c7dd3

File tree

2 files changed

+18
-30
lines changed

2 files changed

+18
-30
lines changed

cmd/controller/main.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"sigs.k8s.io/controller-runtime/pkg/log/zap"
3030
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
3131
"sigs.k8s.io/controller-runtime/pkg/predicate"
32+
"sigs.k8s.io/controller-runtime/pkg/reconcile"
3233

3334
xv1alpha1 "github.com/awslabs/kro/api/v1alpha1"
3435
kroclient "github.com/awslabs/kro/internal/client"
@@ -176,7 +177,7 @@ func main() {
176177
ctrlrtcontroller.Options{
177178
MaxConcurrentReconciles: resourceGroupConcurrentReconciles,
178179
},
179-
).Complete(reconciler)
180+
).Complete(reconcile.AsReconciler[*xv1alpha1.ResourceGroup](mgr.GetClient(), reconciler))
180181
if err != nil {
181182
setupLog.Error(err, "unable to create controller", "controller", "ResourceGroup")
182183
os.Exit(1)

internal/controller/resourcegroup/controller.go

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ import (
1717
"context"
1818

1919
"github.com/go-logr/logr"
20+
"k8s.io/apimachinery/pkg/types"
2021
ctrl "sigs.k8s.io/controller-runtime"
2122
"sigs.k8s.io/controller-runtime/pkg/client"
2223
"sigs.k8s.io/controller-runtime/pkg/log"
24+
"sigs.k8s.io/controller-runtime/pkg/reconcile"
2325

2426
"github.com/awslabs/kro/api/v1alpha1"
2527
kroclient "github.com/awslabs/kro/internal/client"
@@ -78,54 +80,39 @@ func NewResourceGroupReconciler(
7880
func (r *ResourceGroupReconciler) SetupWithManager(mgr ctrl.Manager) error {
7981
return ctrl.NewControllerManagedBy(mgr).
8082
For(&v1alpha1.ResourceGroup{}).
81-
Complete(r)
83+
Complete(reconcile.AsReconciler[*v1alpha1.ResourceGroup](mgr.GetClient(), r))
8284
}
8385

84-
func (r *ResourceGroupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
85-
rlog := r.log.WithValues("resourcegroup", req.NamespacedName)
86+
func (r *ResourceGroupReconciler) Reconcile(ctx context.Context, resourcegroup *v1alpha1.ResourceGroup) (ctrl.Result, error) {
87+
rlog := r.log.WithValues("resourcegroup", types.NamespacedName{Namespace: resourcegroup.Namespace, Name: resourcegroup.Name})
8688
ctx = log.IntoContext(ctx, rlog)
8789

88-
var resourcegroup v1alpha1.ResourceGroup
89-
if err := r.Get(ctx, req.NamespacedName, &resourcegroup); err != nil {
90-
return ctrl.Result{}, client.IgnoreNotFound(err)
91-
}
92-
93-
if err := r.reconcile(ctx, &resourcegroup); err != nil {
94-
return ctrl.Result{}, err
95-
}
96-
97-
return ctrl.Result{}, nil
98-
}
99-
100-
func (r *ResourceGroupReconciler) reconcile(ctx context.Context, resourcegroup *v1alpha1.ResourceGroup) error {
101-
log, _ := logr.FromContext(ctx)
102-
10390
if !resourcegroup.DeletionTimestamp.IsZero() {
104-
log.V(1).Info("ResourceGroup is being deleted")
91+
rlog.V(1).Info("ResourceGroup is being deleted")
10592
if err := r.cleanupResourceGroup(ctx, resourcegroup); err != nil {
106-
return err
93+
return ctrl.Result{}, err
10794
}
10895

109-
log.V(1).Info("Setting resourcegroup as unmanaged")
96+
rlog.V(1).Info("Setting resourcegroup as unmanaged")
11097
if err := r.setUnmanaged(ctx, resourcegroup); err != nil {
111-
return err
98+
return ctrl.Result{}, err
11299
}
113100

114-
return nil
101+
return ctrl.Result{}, nil
115102
}
116103

117-
log.V(1).Info("Setting resource group as managed")
104+
rlog.V(1).Info("Setting resource group as managed")
118105
if err := r.setManaged(ctx, resourcegroup); err != nil {
119-
return err
106+
return ctrl.Result{}, err
120107
}
121108

122-
log.V(1).Info("Syncing resourcegroup")
109+
rlog.V(1).Info("Syncing resourcegroup")
123110
topologicalOrder, resourcesInformation, reconcileErr := r.reconcileResourceGroup(ctx, resourcegroup)
124111

125-
log.V(1).Info("Setting resourcegroup status")
112+
rlog.V(1).Info("Setting resourcegroup status")
126113
if err := r.setResourceGroupStatus(ctx, resourcegroup, topologicalOrder, resourcesInformation, reconcileErr); err != nil {
127-
return err
114+
return ctrl.Result{}, err
128115
}
129116

130-
return nil
117+
return ctrl.Result{}, nil
131118
}

0 commit comments

Comments
 (0)