mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-10-15 11:39:24 +00:00
simplify api registration
This commit is contained in:
@@ -17,33 +17,20 @@ limitations under the License.
|
||||
package scheme
|
||||
|
||||
import (
|
||||
"k8s.io/apimachinery/pkg/apimachinery/registered"
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
)
|
||||
|
||||
// All kubectl code should eventually switch to use this Registry and Scheme instead of the global ones.
|
||||
|
||||
// Registry is an instance of an API registry.
|
||||
var Registry = registered.NewAPIRegistrationManager()
|
||||
|
||||
// Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered.
|
||||
var Scheme = runtime.NewScheme()
|
||||
|
||||
// Codecs provides access to encoding and decoding for the scheme
|
||||
var Codecs = serializer.NewCodecFactory(Scheme)
|
||||
|
||||
// ParameterCodec handles versioning of objects that are converted to query parameters.
|
||||
var ParameterCodec = runtime.NewParameterCodec(Scheme)
|
||||
|
||||
// Versions is a list of group versions in order of preferred serialization. This used to be discovered dynamically,
|
||||
// from the server for use in the client, but that gives conflicting lists of non-existent versions. This only needs to
|
||||
// live until we stop attempting to perform any conversion client-side and is only valid for items existent in our scheme.
|
||||
var Versions = []schema.GroupVersion{}
|
||||
|
||||
// DefaultJSONEncoder returns a default encoder for our scheme
|
||||
func DefaultJSONEncoder() runtime.Encoder {
|
||||
return unstructured.JSONFallbackEncoder{Encoder: Codecs.LegacyCodec(Versions...)}
|
||||
return unstructured.JSONFallbackEncoder{Encoder: Codecs.LegacyCodec(Scheme.PrioritizedVersionsAllGroups()...)}
|
||||
}
|
||||
|
Reference in New Issue
Block a user