func init() { Scheme = runtime.NewScheme() if err := api.AddToScheme(Scheme); err != nil { // Programmer error, detect immediately panic(err) } if err := v1.AddToScheme(Scheme); err != nil { // Programmer error, detect immediately panic(err) } yamlSerializer := json.NewYAMLSerializer(json.DefaultMetaFactory, Scheme, Scheme) Codec = versioning.NewDefaultingCodecForScheme( Scheme, yamlSerializer, yamlSerializer, schema.GroupVersion{Version: Version}, runtime.InternalGroupVersioner, ) }
package api import ( metav1 "k8s.io/client-go/pkg/apis/meta/v1" "k8s.io/client-go/pkg/runtime" "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/pkg/runtime/serializer" ) // Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered. // NOTE: If you are copying this file to start a new api group, STOP! Copy the // extensions group instead. This Scheme is special and should appear ONLY in // the api group, unless you really know what you're doing. // TODO(lavalamp): make the above error impossible. var Scheme = runtime.NewScheme() // Codecs provides access to encoding and decoding for the scheme var Codecs = serializer.NewCodecFactory(Scheme) // GroupName is the group name use in this package const GroupName = "" // SchemeGroupVersion is group version used to register these objects var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} // Unversioned is group version for unversioned API objects // TODO: this should be v1 probably var Unversioned = schema.GroupVersion{Group: "", Version: "v1"} // ParameterCodec handles versioning of objects that are converted to query parameters.