43 lines
1.3 KiB
Go
43 lines
1.3 KiB
Go
package scheme
|
|
|
|
import (
|
|
"k8s.io/apimachinery/pkg/apis/meta/internalversion"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
|
|
|
searchinstall "github.com/karmada-io/karmada/pkg/apis/search/install"
|
|
)
|
|
|
|
var (
|
|
// Scheme defines methods for serializing and deserializing API objects.
|
|
Scheme = runtime.NewScheme()
|
|
// Codecs provides methods for retrieving codecs and serializers for specific
|
|
// versions and content types.
|
|
Codecs = serializer.NewCodecFactory(Scheme)
|
|
// ParameterCodec handles versioning of objects that are converted to query parameters.
|
|
ParameterCodec = runtime.NewParameterCodec(Scheme)
|
|
)
|
|
|
|
func init() {
|
|
searchinstall.Install(Scheme)
|
|
|
|
utilruntime.Must(internalversion.AddToScheme(Scheme))
|
|
|
|
// we need to add the options to empty v1
|
|
// TODO fix the server code to avoid this
|
|
metav1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
|
|
|
|
// TODO: keep the generic API server from wanting this
|
|
unversioned := schema.GroupVersion{Group: "", Version: "v1"}
|
|
Scheme.AddUnversionedTypes(unversioned,
|
|
&metav1.Status{},
|
|
&metav1.APIVersions{},
|
|
&metav1.APIGroupList{},
|
|
&metav1.APIGroup{},
|
|
&metav1.APIResourceList{},
|
|
)
|
|
}
|