Skip to content

Commit 49dca2b

Browse files
author
Mengqi Yu
committed
fix crd example to satisfy kubernetes-sigs#319
1 parent 573a850 commit 49dca2b

File tree

1 file changed

+9
-22
lines changed

1 file changed

+9
-22
lines changed

examples/crd/controller.go

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,10 @@ package main
1919
import (
2020
"context"
2121

22-
"github.com/go-logr/logr"
23-
2422
appsv1 "k8s.io/api/apps/v1"
2523
corev1 "k8s.io/api/core/v1"
2624
"k8s.io/apimachinery/pkg/api/errors"
2725
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
28-
"k8s.io/apimachinery/pkg/runtime"
2926
"sigs.k8s.io/controller-runtime/examples/crd/pkg"
3027
"sigs.k8s.io/controller-runtime/pkg/client"
3128
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
@@ -65,28 +62,18 @@ func (r *FirstMateController) Reconcile(request reconcile.Request) (reconcile.Re
6562
}
6663

6764
dep := &appsv1.Deployment{ObjectMeta: metav1.ObjectMeta{Name: request.Name, Namespace: request.Namespace}}
68-
updateFn := (&createOrUpdateDeployment{firstMate: fm, log: fmLog}).do
69-
70-
_, err := controllerutil.CreateOrUpdate(ctx, r.client, dep, updateFn)
65+
_, err := controllerutil.CreateOrUpdate(ctx, r.client, dep, func() error {
66+
fmLog.Info("creating or updating deployment")
67+
dep.Labels = fm.Labels
68+
dep.Spec.Replicas = &fm.Spec.Crew
69+
dep.Spec.Template.Labels = fm.Labels
70+
dep.Spec.Selector.MatchLabels = fm.Labels
71+
dep.Spec.Template.Spec.Containers = []corev1.Container{{Name: "nginx", Image: "nginx"}}
72+
return nil
73+
})
7174
if err != nil {
7275
return reconcile.Result{}, err
7376
}
7477

7578
return reconcile.Result{}, nil
7679
}
77-
78-
type createOrUpdateDeployment struct {
79-
firstMate *pkg.FirstMate
80-
log logr.Logger
81-
}
82-
83-
func (r *createOrUpdateDeployment) do(existing runtime.Object) error {
84-
r.log.Info("creating or updating deployment")
85-
dep := existing.(*appsv1.Deployment)
86-
dep.Labels = r.firstMate.Labels
87-
dep.Spec.Replicas = &r.firstMate.Spec.Crew
88-
dep.Spec.Template.Labels = r.firstMate.Labels
89-
dep.Spec.Selector.MatchLabels = r.firstMate.Labels
90-
dep.Spec.Template.Spec.Containers = []corev1.Container{{Name: "nginx", Image: "nginx"}}
91-
return nil
92-
}

0 commit comments

Comments
 (0)