@@ -29,7 +29,9 @@ import (
29
29
"k8s.io/apimachinery/pkg/runtime/schema"
30
30
"k8s.io/apimachinery/pkg/util/sets"
31
31
"k8s.io/apimachinery/pkg/util/wait"
32
+ "k8s.io/client-go/kubernetes/scheme"
32
33
"k8s.io/client-go/rest"
34
+ "sigs.k8s.io/controller-runtime/pkg/client/apiutil"
33
35
"sigs.k8s.io/yaml"
34
36
35
37
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -175,17 +177,27 @@ func WaitForWebhooks(config *rest.Config,
175
177
waitingFor := map [schema.GroupVersionKind ]* sets.String {}
176
178
177
179
for _ , hook := range mutatingWebhooks {
178
- if _ , ok := waitingFor [hook .GroupVersionKind ()]; ! ok {
179
- waitingFor [hook .GroupVersionKind ()] = & sets.String {}
180
+ gvk , err := apiutil .GVKForObject (& hook , scheme .Scheme )
181
+ if err != nil {
182
+ return fmt .Errorf ("unable to get gvk for MutatingWebhookConfiguration %s: %v" , hook .GetName (), err )
183
+ }
184
+
185
+ if _ , ok := waitingFor [gvk ]; ! ok {
186
+ waitingFor [gvk ] = & sets.String {}
180
187
}
181
- waitingFor [hook . GroupVersionKind () ].Insert (hook .GetName ())
188
+ waitingFor [gvk ].Insert (hook .GetName ())
182
189
}
183
190
184
191
for _ , hook := range validatingWebhooks {
185
- if _ , ok := waitingFor [hook .GroupVersionKind ()]; ! ok {
186
- waitingFor [hook .GroupVersionKind ()] = & sets.String {}
192
+ gvk , err := apiutil .GVKForObject (& hook , scheme .Scheme )
193
+ if err != nil {
194
+ return fmt .Errorf ("unable to get gvk for ValidatingWebhookConfiguration %s: %v" , hook .GetName (), err )
195
+ }
196
+
197
+ if _ , ok := waitingFor [gvk ]; ! ok {
198
+ waitingFor [gvk ] = & sets.String {}
187
199
}
188
- waitingFor [hook . GroupVersionKind () ].Insert (hook .GetName ())
200
+ waitingFor [gvk ].Insert (hook .GetName ())
189
201
}
190
202
191
203
// Poll until all resources are found in discovery
0 commit comments