Add selectableFields to CRDs

Kubernetes-commit: 291703482d58ae030da71c6d671a96a6f960fc6f
This commit is contained in:
Joe Betz 2024-02-28 14:06:06 -05:00 committed by Kubernetes Publisher
parent 0a2e73e991
commit 414d2e2d63
1 changed files with 7 additions and 5 deletions

View File

@ -26,6 +26,8 @@ import (
"unicode" "unicode"
restful "github.com/emicklei/go-restful/v3" restful "github.com/emicklei/go-restful/v3"
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
apidiscoveryv2beta1 "k8s.io/api/apidiscovery/v2beta1" apidiscoveryv2beta1 "k8s.io/api/apidiscovery/v2beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/conversion" "k8s.io/apimachinery/pkg/conversion"
@ -46,12 +48,12 @@ import (
"k8s.io/apiserver/pkg/storageversion" "k8s.io/apiserver/pkg/storageversion"
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
versioninfo "k8s.io/component-base/version" versioninfo "k8s.io/component-base/version"
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
) )
const ( const (
ROUTE_META_GVK = "x-kubernetes-group-version-kind" RouteMetaGVK = "x-kubernetes-group-version-kind"
ROUTE_META_ACTION = "x-kubernetes-action" RouteMetaSelectableFields = "x-kubernetes-selectable-fields"
RouteMetaAction = "x-kubernetes-action"
) )
type APIInstaller struct { type APIInstaller struct {
@ -1059,12 +1061,12 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag
return nil, nil, fmt.Errorf("unrecognized action verb: %s", action.Verb) return nil, nil, fmt.Errorf("unrecognized action verb: %s", action.Verb)
} }
for _, route := range routes { for _, route := range routes {
route.Metadata(ROUTE_META_GVK, metav1.GroupVersionKind{ route.Metadata(RouteMetaGVK, metav1.GroupVersionKind{
Group: reqScope.Kind.Group, Group: reqScope.Kind.Group,
Version: reqScope.Kind.Version, Version: reqScope.Kind.Version,
Kind: reqScope.Kind.Kind, Kind: reqScope.Kind.Kind,
}) })
route.Metadata(ROUTE_META_ACTION, strings.ToLower(action.Verb)) route.Metadata(RouteMetaAction, strings.ToLower(action.Verb))
ws.Route(route) ws.Route(route)
} }
// Note: update GetAuthorizerAttributes() when adding a custom handler. // Note: update GetAuthorizerAttributes() when adding a custom handler.