Merge pull request #9911 from blackpiglet/jxun/add_log_for_filtered_resources

Add log when resources are filtered out due to verbs or sub-resources.
This commit is contained in:
Xun Jiang/Bruce Jiang
2026-06-22 11:36:03 +08:00
committed by GitHub
+28 -1
View File
@@ -171,7 +171,7 @@ func (h *helper) Refresh() error {
}
h.resources = discovery.FilteredBy(
And(filterByVerbs, skipSubresource),
And(h.filterByVerbsWithLogging, h.skipSubresourceWithLogging),
serverResources,
)
@@ -266,11 +266,38 @@ func filterByVerbs(groupVersion string, r *metav1.APIResource) bool {
return discovery.SupportsAllVerbs{Verbs: []string{"list", "create", "get", "delete"}}.Match(groupVersion, r)
}
func (h *helper) filterByVerbsWithLogging(groupVersion string, r *metav1.APIResource) bool {
if filterByVerbs(groupVersion, r) {
return true
}
h.logger.WithFields(logrus.Fields{
"groupVersion": groupVersion,
"resource": r.Name,
"verbs": r.Verbs,
}).Info("Skipping resource because it does not support required verbs")
return false
}
func skipSubresource(_ string, r *metav1.APIResource) bool {
// if we have a slash, then this is a subresource and we shouldn't include it.
return !strings.Contains(r.Name, "/")
}
func (h *helper) skipSubresourceWithLogging(groupVersion string, r *metav1.APIResource) bool {
if skipSubresource(groupVersion, r) {
return true
}
h.logger.WithFields(logrus.Fields{
"groupVersion": groupVersion,
"resource": r.Name,
}).Info("Skipping subresource")
return false
}
// sortResources sources resources by moving extensions to the end of the slice. The order of all
// the other resources is preserved.
func sortResources(resources []*metav1.APIResourceList) {