Skip to content

Commit 2861521

Browse files
feat: dynamic rest mapper (#129)
## Description Not having a dynamic rest mapper is problematic for Zarf health checks with CRDs. See [#3010](zarf-dev/zarf#3010) --------- Signed-off-by: Austin Abro <[email protected]>
1 parent 764e08c commit 2861521

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

kubernetes/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ require (
77
k8s.io/apimachinery v0.29.1
88
k8s.io/client-go v0.29.1
99
sigs.k8s.io/cli-utils v0.36.0
10+
sigs.k8s.io/controller-runtime v0.16.3
1011
)
1112

1213
require (
@@ -56,7 +57,6 @@ require (
5657
k8s.io/klog/v2 v2.110.1 // indirect
5758
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
5859
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
59-
sigs.k8s.io/controller-runtime v0.16.3 // indirect
6060
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
6161
sigs.k8s.io/kustomize/api v0.15.0 // indirect
6262
sigs.k8s.io/kustomize/kyaml v0.15.0 // indirect

kubernetes/wait.go

+4-6
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,15 @@ import (
77
"context"
88

99
"k8s.io/apimachinery/pkg/runtime"
10-
"k8s.io/client-go/discovery"
1110
"k8s.io/client-go/dynamic"
1211
"k8s.io/client-go/rest"
13-
"k8s.io/client-go/restmapper"
1412
"sigs.k8s.io/cli-utils/pkg/kstatus/polling/aggregator"
1513
"sigs.k8s.io/cli-utils/pkg/kstatus/polling/collector"
1614
"sigs.k8s.io/cli-utils/pkg/kstatus/polling/event"
1715
"sigs.k8s.io/cli-utils/pkg/kstatus/status"
1816
"sigs.k8s.io/cli-utils/pkg/kstatus/watcher"
1917
"sigs.k8s.io/cli-utils/pkg/object"
18+
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
2019
)
2120

2221
// WatcherForConfig returns a status watcher for the give Kubernetes configuration.
@@ -25,16 +24,15 @@ func WatcherForConfig(cfg *rest.Config) (watcher.StatusWatcher, error) {
2524
if err != nil {
2625
return nil, err
2726
}
28-
discoveryClient, err := discovery.NewDiscoveryClientForConfig(cfg)
27+
httpClient, err := rest.HTTPClientFor(cfg)
2928
if err != nil {
3029
return nil, err
3130
}
32-
groupResources, err := restmapper.GetAPIGroupResources(discoveryClient)
31+
restMapper, err := apiutil.NewDynamicRESTMapper(cfg, httpClient)
3332
if err != nil {
3433
return nil, err
3534
}
36-
rm := restmapper.NewDiscoveryRESTMapper(groupResources)
37-
sw := watcher.NewDefaultStatusWatcher(dynamicClient, rm)
35+
sw := watcher.NewDefaultStatusWatcher(dynamicClient, restMapper)
3836
return sw, nil
3937
}
4038

0 commit comments

Comments
 (0)