Skip to content

Commit 21f4884

Browse files
committed
update manager vulns and handle api migrations
Signed-off-by: ashnamehrotra <ashnamehrotra@gmail.com>
1 parent 3070d19 commit 21f4884

File tree

8 files changed

+161
-147
lines changed

8 files changed

+161
-147
lines changed

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# syntax=docker/dockerfile:1.6
22

33
# Default Trivy binary image, overwritten by Makefile
4-
ARG TRIVY_BINARY_IMG="ghcr.io/aquasecurity/trivy:0.50.0"
4+
ARG TRIVY_BINARY_IMG="ghcr.io/aquasecurity/trivy:0.58.1"
55
ARG BUILDKIT_SBOM_SCAN_STAGE=builder,manager-build,collector-build,remover-build,trivy-scanner-build
66

77
FROM --platform=$TARGETPLATFORM $TRIVY_BINARY_IMG AS trivy-binary
88

99
# Build the manager binary
10-
FROM --platform=$BUILDPLATFORM golang:1.25-bookworm AS builder
10+
FROM --platform=$BUILDPLATFORM golang:1.23.4-bookworm AS builder
1111
WORKDIR /workspace
1212
# Copy the Go Modules manifests
1313
COPY go.mod go.mod

controllers/configmap/configmap.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func Add(mgr manager.Manager, cfg *config.Manager) error {
6363
}
6464

6565
err = c.Watch(
66-
&source.Kind{Type: &corev1.ConfigMap{}},
66+
source.Kind(mgr.GetCache(), &corev1.ConfigMap{}),
6767
&handler.EnqueueRequestForObject{},
6868
predicate.ResourceVersionChangedPredicate{},
6969
predicate.Funcs{

controllers/imagecollector/imagecollector_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ func add(mgr manager.Manager, r *Reconciler) error {
143143
}
144144

145145
err = c.Watch(
146-
&source.Kind{Type: &eraserv1.ImageJob{}},
146+
source.Kind(mgr.GetCache(), &eraserv1.ImageJob{}),
147147
&handler.EnqueueRequestForObject{}, predicate.Funcs{
148148
// Do nothing on Create, Delete, or Generic events
149149
CreateFunc: util.NeverOnCreate,

controllers/imagejob/imagejob_controller.go

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error {
102102
}
103103

104104
// Watch for changes to ImageJob
105-
err = c.Watch(&source.Kind{Type: &eraserv1.ImageJob{}}, &handler.EnqueueRequestForObject{}, predicate.Funcs{
105+
err = c.Watch(source.Kind(mgr.GetCache(), &eraserv1.ImageJob{}), &handler.EnqueueRequestForObject{}, predicate.Funcs{
106106
UpdateFunc: func(e event.UpdateEvent) bool {
107107
if job, ok := e.ObjectNew.(*eraserv1.ImageJob); ok && controllerUtils.IsCompletedOrFailed(job.Status.Phase) {
108108
return false // handled by Owning controller
@@ -120,13 +120,8 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error {
120120

121121
// Watch for changes to pods created by ImageJob (eraser pods)
122122
err = c.Watch(
123-
&source.Kind{
124-
Type: &corev1.Pod{},
125-
},
126-
&handler.EnqueueRequestForOwner{
127-
OwnerType: &corev1.PodTemplate{},
128-
IsController: true,
129-
},
123+
source.Kind(mgr.GetCache(), &corev1.Pod{}),
124+
handler.EnqueueRequestForOwner(mgr.GetScheme(), mgr.GetRESTMapper(), &corev1.PodTemplate{}),
130125
predicate.Funcs{
131126
CreateFunc: func(e event.CreateEvent) bool {
132127
return e.Object.GetNamespace() == eraserUtils.GetNamespace()
@@ -145,13 +140,8 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error {
145140

146141
// watch for changes to imagejob podTemplate (owned by controller manager pod)
147142
err = c.Watch(
148-
&source.Kind{
149-
Type: &corev1.PodTemplate{},
150-
},
151-
&handler.EnqueueRequestForOwner{
152-
OwnerType: &corev1.Pod{},
153-
IsController: true,
154-
},
143+
source.Kind(mgr.GetCache(), &corev1.PodTemplate{}),
144+
handler.EnqueueRequestForOwner(mgr.GetScheme(), mgr.GetRESTMapper(), &corev1.Pod{}),
155145
predicate.Funcs{
156146
CreateFunc: func(e event.CreateEvent) bool {
157147
ownerLabels, ok := e.Object.GetLabels()[managerLabelKey]

controllers/imagelist/imagelist_controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -441,14 +441,14 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error {
441441
}
442442

443443
err = c.Watch(
444-
&source.Kind{Type: &eraserv1.ImageList{}},
444+
source.Kind(mgr.GetCache(), &eraserv1.ImageList{}),
445445
&handler.EnqueueRequestForObject{}, predicate.GenerationChangedPredicate{})
446446
if err != nil {
447447
return err
448448
}
449449
err = c.Watch(
450-
&source.Kind{Type: &eraserv1.ImageJob{}},
451-
&handler.EnqueueRequestForOwner{OwnerType: &eraserv1.ImageList{}, IsController: true},
450+
source.Kind(mgr.GetCache(), &eraserv1.ImageJob{}),
451+
handler.EnqueueRequestForOwner(mgr.GetScheme(), mgr.GetRESTMapper(), &eraserv1.ImageList{}),
452452
predicate.Funcs{
453453
// Do nothing on Create, Delete, or Generic events
454454
CreateFunc: util.NeverOnCreate,

go.mod

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ require (
66
github.com/aquasecurity/trivy v0.35.0
77
github.com/aquasecurity/trivy-db v0.0.0-20220627104749-930461748b63 // indirect
88
github.com/go-logr/logr v1.2.4
9-
github.com/onsi/ginkgo/v2 v2.6.1
10-
github.com/onsi/gomega v1.24.2
9+
github.com/onsi/ginkgo/v2 v2.9.5
10+
github.com/onsi/gomega v1.27.7
1111
github.com/stretchr/testify v1.8.4
1212
go.opentelemetry.io/otel v1.14.0
1313
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.34.0
@@ -18,16 +18,16 @@ require (
1818
golang.org/x/exp v0.0.0-20230321023759-10a507213a29
1919
golang.org/x/sys v0.31.0
2020
google.golang.org/grpc v1.58.3
21-
k8s.io/api v0.26.11
22-
k8s.io/apimachinery v0.26.11
23-
k8s.io/client-go v0.26.11
21+
k8s.io/api v0.27.16
22+
k8s.io/apimachinery v0.27.16
23+
k8s.io/client-go v0.27.16
2424
// keeping this on 0.25 as updating to 0.26 will remove CRI v1alpha2 version
2525
k8s.io/cri-api v0.25.16
2626
k8s.io/klog/v2 v2.100.1
27-
k8s.io/kubernetes v1.26.15
28-
k8s.io/utils v0.0.0-20230115233650-391b47cb4029
27+
k8s.io/kubernetes v1.27.16
28+
k8s.io/utils v0.0.0-20230209194617-a36077c30491
2929
oras.land/oras-go v1.2.2
30-
sigs.k8s.io/controller-runtime v0.14.7
30+
sigs.k8s.io/controller-runtime v0.15.0
3131
sigs.k8s.io/e2e-framework v0.0.8
3232
sigs.k8s.io/kind v0.15.0
3333
sigs.k8s.io/yaml v1.3.0
@@ -59,17 +59,19 @@ require (
5959
github.com/evanphx/json-patch/v5 v5.6.0 // indirect
6060
github.com/fsnotify/fsnotify v1.6.0 // indirect
6161
github.com/go-logr/stdr v1.2.2 // indirect
62-
github.com/go-logr/zapr v1.2.3 // indirect
63-
github.com/go-openapi/jsonpointer v0.19.5 // indirect
64-
github.com/go-openapi/jsonreference v0.20.0 // indirect
62+
github.com/go-logr/zapr v1.2.4 // indirect
63+
github.com/go-openapi/jsonpointer v0.19.6 // indirect
64+
github.com/go-openapi/jsonreference v0.20.1 // indirect
6565
github.com/go-openapi/swag v0.22.3 // indirect
66+
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
6667
github.com/gogo/protobuf v1.3.2 // indirect
6768
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
6869
github.com/golang/protobuf v1.5.4 // indirect
6970
github.com/google/gnostic v0.5.7-v3refs // indirect
70-
github.com/google/go-cmp v0.5.9 // indirect
71+
github.com/google/go-cmp v0.6.0 // indirect
7172
github.com/google/go-containerregistry v0.14.0 // indirect
7273
github.com/google/gofuzz v1.2.0 // indirect
74+
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 // indirect
7375
github.com/google/uuid v1.3.0 // indirect
7476
github.com/gorilla/mux v1.8.0 // indirect
7577
github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect
@@ -108,63 +110,63 @@ require (
108110
go.opentelemetry.io/otel/trace v1.14.0 // indirect
109111
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
110112
go.uber.org/atomic v1.10.0 // indirect
111-
go.uber.org/goleak v1.2.1 // indirect
112113
go.uber.org/multierr v1.9.0 // indirect
113114
golang.org/x/net v0.38.0 // indirect
114115
golang.org/x/oauth2 v0.27.0 // indirect
115116
golang.org/x/sync v0.12.0 // indirect
116117
golang.org/x/term v0.30.0 // indirect
117118
golang.org/x/text v0.23.0 // indirect
118119
golang.org/x/time v0.3.0 // indirect
120+
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
119121
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
120-
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
122+
gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect
121123
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 // indirect
122124
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect
123125
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
124126
google.golang.org/protobuf v1.33.0 // indirect
125127
gopkg.in/inf.v0 v0.9.1 // indirect
126128
gopkg.in/yaml.v2 v2.4.0 // indirect
127129
gopkg.in/yaml.v3 v3.0.1 // indirect
128-
k8s.io/apiextensions-apiserver v0.26.11 // indirect
129-
k8s.io/apiserver v0.26.11 // indirect
130-
k8s.io/component-base v0.26.11 // indirect
131-
k8s.io/component-helpers v0.26.11 // indirect
132-
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
130+
k8s.io/apiextensions-apiserver v0.27.2 // indirect
131+
k8s.io/apiserver v0.27.16 // indirect
132+
k8s.io/component-base v0.27.16 // indirect
133+
k8s.io/component-helpers v0.27.16 // indirect
134+
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
133135
k8s.io/kube-scheduler v0.0.0 // indirect
134-
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
136+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
135137
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
136138
)
137139

138140
replace (
139141
// v0.3.1-0.20230104082527-d6f58551be3f is taken from github.com/moby/buildkit v0.11.0
140142
// spdx logic write on v0.3.0 and incompatible with v0.3.1-0.20230104082527-d6f58551be3f
141143
github.com/spdx/tools-golang => github.com/spdx/tools-golang v0.3.0
142-
k8s.io/api => k8s.io/api v0.26.11
143-
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.26.11
144-
k8s.io/apimachinery => k8s.io/apimachinery v0.26.11
145-
k8s.io/apiserver => k8s.io/apiserver v0.26.11
146-
k8s.io/cli-runtime => k8s.io/cli-runtime v0.26.11
147-
k8s.io/client-go => k8s.io/client-go v0.26.11
148-
k8s.io/cloud-provider => k8s.io/cloud-provider v0.26.11
149-
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.26.11
150-
k8s.io/code-generator => k8s.io/code-generator v0.26.11
151-
k8s.io/component-base => k8s.io/component-base v0.26.11
152-
k8s.io/component-helpers => k8s.io/component-helpers v0.26.11
153-
k8s.io/controller-manager => k8s.io/controller-manager v0.26.11
154-
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.26.11
155-
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.26.11
156-
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.26.11
157-
k8s.io/kube-proxy => k8s.io/kube-proxy v0.26.11
158-
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.26.11
159-
k8s.io/kubectl => k8s.io/kubectl v0.26.11
160-
k8s.io/kubelet => k8s.io/kubelet v0.26.11
161-
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.26.11
162-
k8s.io/metrics => k8s.io/metrics v0.26.11
163-
k8s.io/mount-utils => k8s.io/mount-utils v0.26.11
164-
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.26.11
165-
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.26.11
166-
k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.26.11
167-
k8s.io/sample-controller => k8s.io/sample-controller v0.26.11
144+
k8s.io/api => k8s.io/api v0.27.16
145+
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.27.16
146+
k8s.io/apimachinery => k8s.io/apimachinery v0.27.16
147+
k8s.io/apiserver => k8s.io/apiserver v0.27.16
148+
k8s.io/cli-runtime => k8s.io/cli-runtime v0.27.16
149+
k8s.io/client-go => k8s.io/client-go v0.27.16
150+
k8s.io/cloud-provider => k8s.io/cloud-provider v0.27.16
151+
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.27.16
152+
k8s.io/code-generator => k8s.io/code-generator v0.27.16
153+
k8s.io/component-base => k8s.io/component-base v0.27.16
154+
k8s.io/component-helpers => k8s.io/component-helpers v0.27.16
155+
k8s.io/controller-manager => k8s.io/controller-manager v0.27.16
156+
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.27.16
157+
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.27.16
158+
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.27.16
159+
k8s.io/kube-proxy => k8s.io/kube-proxy v0.27.16
160+
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.27.16
161+
k8s.io/kubectl => k8s.io/kubectl v0.27.16
162+
k8s.io/kubelet => k8s.io/kubelet v0.27.16
163+
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.27.16
164+
k8s.io/metrics => k8s.io/metrics v0.27.16
165+
k8s.io/mount-utils => k8s.io/mount-utils v0.27.16
166+
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.27.16
167+
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.27.16
168+
k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.27.16
169+
k8s.io/sample-controller => k8s.io/sample-controller v0.27.16
168170
// v1.2.0 is taken from github.com/open-policy-agent/opa v0.42.0
169171
// v1.2.0 incompatible with github.com/docker/docker v23.0.0-rc.1+incompatible
170172
oras.land/oras-go => oras.land/oras-go v1.1.1

0 commit comments

Comments
 (0)