@@ -44,9 +44,10 @@ func (s *stubLister) deletions(ignore []model.K8sLocalObject, filter func(obj mo
4444}
4545
4646type remoteLister struct {
47- client listClient
48- ch chan listResult
49- cfg remote.ListQueryConfig
47+ client listClient
48+ ch chan listResult
49+ cfg remote.ListQueryConfig
50+ unknownTypes map [schema.GroupVersionKind ]bool
5051}
5152
5253type listResult struct {
@@ -90,8 +91,9 @@ func newRemoteLister(client listClient, allObjects []model.K8sLocalObject, defau
9091 sort .Strings (nsList )
9192
9293 return & remoteLister {
93- client : client ,
94- ch : make (chan listResult , 1 ),
94+ client : client ,
95+ ch : make (chan listResult , 1 ),
96+ unknownTypes : unknown ,
9597 },
9698 remote.ListQueryScope {
9799 Namespaces : nsList ,
@@ -102,6 +104,16 @@ func newRemoteLister(client listClient, allObjects []model.K8sLocalObject, defau
102104
103105func (r * remoteLister ) start (config remote.ListQueryConfig ) {
104106 r .cfg = config
107+ if config .KindFilter == nil {
108+ config .KindFilter = func (_ schema.GroupVersionKind ) bool { return true }
109+ }
110+ orig := config .KindFilter
111+ config .KindFilter = func (gvk schema.GroupVersionKind ) bool {
112+ if r .unknownTypes [gvk ] {
113+ return false
114+ }
115+ return orig (gvk )
116+ }
105117 go func () {
106118 start := time .Now ()
107119 list , err := r .client .ListObjects (config )
@@ -120,14 +132,13 @@ func (r *remoteLister) deletions(all []model.K8sLocalObject, filter func(obj mod
120132 sio .Debugf ("server objects load took %v\n " , lr .duration )
121133
122134 cfg := r .cfg
123- if cfg .KindFilter == nil {
124- f , _ := model .NewKindFilter (nil , nil )
125- cfg .KindFilter = f
126- }
127135
128136 var removals []model.K8sQbecMeta
129137 for _ , c := range all {
130- if ! cfg .KindFilter .ShouldInclude (c .GetKind ()) {
138+ if ! cfg .KindFilter (c .GroupVersionKind ()) {
139+ continue
140+ }
141+ if r .unknownTypes [c .GroupVersionKind ()] {
131142 continue
132143 }
133144 removals = append (removals , c )
0 commit comments