Update godeps
This commit is contained in:
parent
1c8773fc98
commit
1bc383f9c5
1723 changed files with 287976 additions and 411028 deletions
45
vendor/k8s.io/kubernetes/pkg/runtime/serializer/BUILD
generated
vendored
Normal file
45
vendor/k8s.io/kubernetes/pkg/runtime/serializer/BUILD
generated
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
licenses(["notice"])
|
||||
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_binary",
|
||||
"go_library",
|
||||
"go_test",
|
||||
"cgo_library",
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [
|
||||
"codec_factory.go",
|
||||
"negotiated_codec.go",
|
||||
"protobuf_extension.go",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
"//pkg/runtime/serializer/json:go_default_library",
|
||||
"//pkg/runtime/serializer/protobuf:go_default_library",
|
||||
"//pkg/runtime/serializer/recognizer:go_default_library",
|
||||
"//pkg/runtime/serializer/versioning:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = ["codec_test.go"],
|
||||
library = "go_default_library",
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/conversion:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
"//pkg/util/diff:go_default_library",
|
||||
"//vendor:github.com/ghodss/yaml",
|
||||
"//vendor:github.com/google/gofuzz",
|
||||
"//vendor:github.com/spf13/pflag",
|
||||
],
|
||||
)
|
||||
164
vendor/k8s.io/kubernetes/pkg/runtime/serializer/codec_factory.go
generated
vendored
164
vendor/k8s.io/kubernetes/pkg/runtime/serializer/codec_factory.go
generated
vendored
|
|
@ -36,25 +36,12 @@ type serializerType struct {
|
|||
|
||||
Serializer runtime.Serializer
|
||||
PrettySerializer runtime.Serializer
|
||||
// RawSerializer serializes an object without adding a type wrapper. Some serializers, like JSON
|
||||
// automatically include identifying type information with the JSON. Others, like Protobuf, need
|
||||
// a wrapper object that includes type information. This serializer should be set if the serializer
|
||||
// can serialize / deserialize objects without type info. Note that this serializer will always
|
||||
// be expected to pass into or a gvk to Decode, since no type information will be available on
|
||||
// the object itself.
|
||||
RawSerializer runtime.Serializer
|
||||
// Specialize gives the type the opportunity to return a different serializer implementation if
|
||||
// the content type contains alternate operations. Here it is used to implement "pretty" as an
|
||||
// option to application/json, but could also be used to allow serializers to perform type
|
||||
// defaulting or alter output.
|
||||
Specialize func(map[string]string) (runtime.Serializer, bool)
|
||||
|
||||
AcceptStreamContentTypes []string
|
||||
StreamContentType string
|
||||
|
||||
Framer runtime.Framer
|
||||
StreamSerializer runtime.Serializer
|
||||
StreamSpecialize func(map[string]string) (runtime.Serializer, bool)
|
||||
}
|
||||
|
||||
func newSerializersForScheme(scheme *runtime.Scheme, mf json.MetaFactory) []serializerType {
|
||||
|
|
@ -71,10 +58,8 @@ func newSerializersForScheme(scheme *runtime.Scheme, mf json.MetaFactory) []seri
|
|||
Serializer: jsonSerializer,
|
||||
PrettySerializer: jsonPrettySerializer,
|
||||
|
||||
AcceptStreamContentTypes: []string{"application/json", "application/json;stream=watch"},
|
||||
StreamContentType: "application/json",
|
||||
Framer: json.Framer,
|
||||
StreamSerializer: jsonSerializer,
|
||||
Framer: json.Framer,
|
||||
StreamSerializer: jsonSerializer,
|
||||
},
|
||||
{
|
||||
AcceptContentTypes: []string{"application/yaml"},
|
||||
|
|
@ -82,13 +67,6 @@ func newSerializersForScheme(scheme *runtime.Scheme, mf json.MetaFactory) []seri
|
|||
FileExtensions: []string{"yaml"},
|
||||
EncodesAsText: true,
|
||||
Serializer: yamlSerializer,
|
||||
|
||||
// TODO: requires runtime.RawExtension to properly distinguish when the nested content is
|
||||
// yaml, because the yaml encoder invokes MarshalJSON first
|
||||
//AcceptStreamContentTypes: []string{"application/yaml", "application/yaml;stream=watch"},
|
||||
//StreamContentType: "application/yaml;stream=watch",
|
||||
//Framer: json.YAMLFramer,
|
||||
//StreamSerializer: yamlSerializer,
|
||||
},
|
||||
}
|
||||
|
||||
|
|
@ -103,11 +81,10 @@ func newSerializersForScheme(scheme *runtime.Scheme, mf json.MetaFactory) []seri
|
|||
// CodecFactory provides methods for retrieving codecs and serializers for specific
|
||||
// versions and content types.
|
||||
type CodecFactory struct {
|
||||
scheme *runtime.Scheme
|
||||
serializers []serializerType
|
||||
universal runtime.Decoder
|
||||
accepts []string
|
||||
streamingAccepts []string
|
||||
scheme *runtime.Scheme
|
||||
serializers []serializerType
|
||||
universal runtime.Decoder
|
||||
accepts []runtime.SerializerInfo
|
||||
|
||||
legacySerializer runtime.Serializer
|
||||
}
|
||||
|
|
@ -126,7 +103,7 @@ func NewCodecFactory(scheme *runtime.Scheme) CodecFactory {
|
|||
// newCodecFactory is a helper for testing that allows a different metafactory to be specified.
|
||||
func newCodecFactory(scheme *runtime.Scheme, serializers []serializerType) CodecFactory {
|
||||
decoders := make([]runtime.Decoder, 0, len(serializers))
|
||||
accepts := []string{}
|
||||
var accepts []runtime.SerializerInfo
|
||||
alreadyAccepted := make(map[string]struct{})
|
||||
|
||||
var legacySerializer runtime.Serializer
|
||||
|
|
@ -137,8 +114,21 @@ func newCodecFactory(scheme *runtime.Scheme, serializers []serializerType) Codec
|
|||
continue
|
||||
}
|
||||
alreadyAccepted[mediaType] = struct{}{}
|
||||
accepts = append(accepts, mediaType)
|
||||
if mediaType == "application/json" {
|
||||
info := runtime.SerializerInfo{
|
||||
MediaType: d.ContentType,
|
||||
EncodesAsText: d.EncodesAsText,
|
||||
Serializer: d.Serializer,
|
||||
PrettySerializer: d.PrettySerializer,
|
||||
}
|
||||
if d.StreamSerializer != nil {
|
||||
info.StreamSerializer = &runtime.StreamSerializerInfo{
|
||||
Serializer: d.StreamSerializer,
|
||||
EncodesAsText: d.EncodesAsText,
|
||||
Framer: d.Framer,
|
||||
}
|
||||
}
|
||||
accepts = append(accepts, info)
|
||||
if mediaType == runtime.ContentTypeJSON {
|
||||
legacySerializer = d.Serializer
|
||||
}
|
||||
}
|
||||
|
|
@ -147,45 +137,22 @@ func newCodecFactory(scheme *runtime.Scheme, serializers []serializerType) Codec
|
|||
legacySerializer = serializers[0].Serializer
|
||||
}
|
||||
|
||||
streamAccepts := []string{}
|
||||
alreadyAccepted = make(map[string]struct{})
|
||||
for _, d := range serializers {
|
||||
if len(d.StreamContentType) == 0 {
|
||||
continue
|
||||
}
|
||||
for _, mediaType := range d.AcceptStreamContentTypes {
|
||||
if _, ok := alreadyAccepted[mediaType]; ok {
|
||||
continue
|
||||
}
|
||||
alreadyAccepted[mediaType] = struct{}{}
|
||||
streamAccepts = append(streamAccepts, mediaType)
|
||||
}
|
||||
}
|
||||
|
||||
return CodecFactory{
|
||||
scheme: scheme,
|
||||
serializers: serializers,
|
||||
universal: recognizer.NewDecoder(decoders...),
|
||||
|
||||
accepts: accepts,
|
||||
streamingAccepts: streamAccepts,
|
||||
accepts: accepts,
|
||||
|
||||
legacySerializer: legacySerializer,
|
||||
}
|
||||
}
|
||||
|
||||
var _ runtime.NegotiatedSerializer = &CodecFactory{}
|
||||
|
||||
// SupportedMediaTypes returns the RFC2046 media types that this factory has serializers for.
|
||||
func (f CodecFactory) SupportedMediaTypes() []string {
|
||||
func (f CodecFactory) SupportedMediaTypes() []runtime.SerializerInfo {
|
||||
return f.accepts
|
||||
}
|
||||
|
||||
// SupportedStreamingMediaTypes returns the RFC2046 media types that this factory has stream serializers for.
|
||||
func (f CodecFactory) SupportedStreamingMediaTypes() []string {
|
||||
return f.streamingAccepts
|
||||
}
|
||||
|
||||
// LegacyCodec encodes output to a given API versions, and decodes output into the internal form from
|
||||
// any recognized source. The returned codec will always encode output to JSON. If a type is not
|
||||
// found in the list of versions an error will be returned.
|
||||
|
|
@ -196,7 +163,7 @@ func (f CodecFactory) SupportedStreamingMediaTypes() []string {
|
|||
// TODO: make this call exist only in pkg/api, and initialize it with the set of default versions.
|
||||
// All other callers will be forced to request a Codec directly.
|
||||
func (f CodecFactory) LegacyCodec(version ...unversioned.GroupVersion) runtime.Codec {
|
||||
return versioning.NewCodecForScheme(f.scheme, f.legacySerializer, f.universal, unversioned.GroupVersions(version), runtime.InternalGroupVersioner)
|
||||
return versioning.NewDefaultingCodecForScheme(f.scheme, f.legacySerializer, f.universal, unversioned.GroupVersions(version), runtime.InternalGroupVersioner)
|
||||
}
|
||||
|
||||
// UniversalDeserializer can convert any stored data recognized by this factory into a Go object that satisfies
|
||||
|
|
@ -235,7 +202,7 @@ func (f CodecFactory) CodecForVersions(encoder runtime.Encoder, decoder runtime.
|
|||
if decode == nil {
|
||||
decode = runtime.InternalGroupVersioner
|
||||
}
|
||||
return versioning.NewCodecForScheme(f.scheme, encoder, decoder, encode, decode)
|
||||
return versioning.NewDefaultingCodecForScheme(f.scheme, encoder, decoder, encode, decode)
|
||||
}
|
||||
|
||||
// DecoderToVersion returns a decoder that targets the provided group version.
|
||||
|
|
@ -248,85 +215,6 @@ func (f CodecFactory) EncoderForVersion(encoder runtime.Encoder, gv runtime.Grou
|
|||
return f.CodecForVersions(encoder, nil, gv, nil)
|
||||
}
|
||||
|
||||
// SerializerForMediaType returns a serializer that matches the provided RFC2046 mediaType, or false if no such
|
||||
// serializer exists
|
||||
func (f CodecFactory) SerializerForMediaType(mediaType string, params map[string]string) (runtime.SerializerInfo, bool) {
|
||||
for _, s := range f.serializers {
|
||||
for _, accepted := range s.AcceptContentTypes {
|
||||
if accepted == mediaType {
|
||||
// specialization abstracts variants to the content type
|
||||
if s.Specialize != nil && len(params) > 0 {
|
||||
serializer, ok := s.Specialize(params)
|
||||
// TODO: return formatted mediaType+params
|
||||
return runtime.SerializerInfo{Serializer: serializer, MediaType: s.ContentType, EncodesAsText: s.EncodesAsText}, ok
|
||||
}
|
||||
|
||||
// legacy support for ?pretty=1 continues, but this is more formally defined
|
||||
if v, ok := params["pretty"]; ok && v == "1" && s.PrettySerializer != nil {
|
||||
return runtime.SerializerInfo{Serializer: s.PrettySerializer, MediaType: s.ContentType, EncodesAsText: s.EncodesAsText}, true
|
||||
}
|
||||
|
||||
// return the base variant
|
||||
return runtime.SerializerInfo{Serializer: s.Serializer, MediaType: s.ContentType, EncodesAsText: s.EncodesAsText}, true
|
||||
}
|
||||
}
|
||||
}
|
||||
return runtime.SerializerInfo{}, false
|
||||
}
|
||||
|
||||
// StreamingSerializerForMediaType returns a serializer that matches the provided RFC2046 mediaType, or false if no such
|
||||
// serializer exists
|
||||
func (f CodecFactory) StreamingSerializerForMediaType(mediaType string, params map[string]string) (runtime.StreamSerializerInfo, bool) {
|
||||
for _, s := range f.serializers {
|
||||
for _, accepted := range s.AcceptStreamContentTypes {
|
||||
if accepted == mediaType {
|
||||
// TODO: accept params
|
||||
nested, ok := f.SerializerForMediaType(s.ContentType, nil)
|
||||
if !ok {
|
||||
panic("no serializer defined for internal content type")
|
||||
}
|
||||
|
||||
if s.StreamSpecialize != nil && len(params) > 0 {
|
||||
serializer, ok := s.StreamSpecialize(params)
|
||||
// TODO: return formatted mediaType+params
|
||||
return runtime.StreamSerializerInfo{
|
||||
SerializerInfo: runtime.SerializerInfo{
|
||||
Serializer: serializer,
|
||||
MediaType: s.StreamContentType,
|
||||
EncodesAsText: s.EncodesAsText,
|
||||
},
|
||||
Framer: s.Framer,
|
||||
Embedded: nested,
|
||||
}, ok
|
||||
}
|
||||
|
||||
return runtime.StreamSerializerInfo{
|
||||
SerializerInfo: runtime.SerializerInfo{
|
||||
Serializer: s.StreamSerializer,
|
||||
MediaType: s.StreamContentType,
|
||||
EncodesAsText: s.EncodesAsText,
|
||||
},
|
||||
Framer: s.Framer,
|
||||
Embedded: nested,
|
||||
}, true
|
||||
}
|
||||
}
|
||||
}
|
||||
return runtime.StreamSerializerInfo{}, false
|
||||
}
|
||||
|
||||
// SerializerForFileExtension returns a serializer for the provided extension, or false if no serializer matches.
|
||||
func (f CodecFactory) SerializerForFileExtension(extension string) (runtime.Serializer, bool) {
|
||||
for _, s := range f.serializers {
|
||||
for _, ext := range s.FileExtensions {
|
||||
if extension == ext {
|
||||
return s.Serializer, true
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil, false
|
||||
}
|
||||
|
||||
// DirectCodecFactory provides methods for retrieving "DirectCodec"s, which do not do conversion.
|
||||
type DirectCodecFactory struct {
|
||||
CodecFactory
|
||||
|
|
|
|||
49
vendor/k8s.io/kubernetes/pkg/runtime/serializer/json/BUILD
generated
vendored
Normal file
49
vendor/k8s.io/kubernetes/pkg/runtime/serializer/json/BUILD
generated
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
licenses(["notice"])
|
||||
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_binary",
|
||||
"go_library",
|
||||
"go_test",
|
||||
"cgo_library",
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [
|
||||
"json.go",
|
||||
"meta.go",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
"//pkg/runtime/serializer/recognizer:go_default_library",
|
||||
"//pkg/util/framer:go_default_library",
|
||||
"//pkg/util/yaml:go_default_library",
|
||||
"//vendor:github.com/ghodss/yaml",
|
||||
"//vendor:github.com/ugorji/go/codec",
|
||||
],
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = ["meta_test.go"],
|
||||
library = "go_default_library",
|
||||
tags = ["automanaged"],
|
||||
deps = [],
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_xtest",
|
||||
srcs = ["json_test.go"],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
"//pkg/runtime/serializer/json:go_default_library",
|
||||
"//pkg/util/diff:go_default_library",
|
||||
],
|
||||
)
|
||||
4
vendor/k8s.io/kubernetes/pkg/runtime/serializer/json/meta.go
generated
vendored
4
vendor/k8s.io/kubernetes/pkg/runtime/serializer/json/meta.go
generated
vendored
|
|
@ -47,8 +47,10 @@ type SimpleMetaFactory struct {
|
|||
// encoding of an object, or an error.
|
||||
func (SimpleMetaFactory) Interpret(data []byte) (*unversioned.GroupVersionKind, error) {
|
||||
findKind := struct {
|
||||
// +optional
|
||||
APIVersion string `json:"apiVersion,omitempty"`
|
||||
Kind string `json:"kind,omitempty"`
|
||||
// +optional
|
||||
Kind string `json:"kind,omitempty"`
|
||||
}{}
|
||||
if err := json.Unmarshal(data, &findKind); err != nil {
|
||||
return nil, fmt.Errorf("couldn't get version/kind; json parse error: %v", err)
|
||||
|
|
|
|||
27
vendor/k8s.io/kubernetes/pkg/runtime/serializer/negotiated_codec.go
generated
vendored
27
vendor/k8s.io/kubernetes/pkg/runtime/serializer/negotiated_codec.go
generated
vendored
|
|
@ -20,31 +20,18 @@ import (
|
|||
"k8s.io/kubernetes/pkg/runtime"
|
||||
)
|
||||
|
||||
// TODO: We should figure out what happens when someone asks
|
||||
// encoder for version and it conflicts with the raw serializer.
|
||||
// TODO: We should split negotiated serializers that we can change versions on from those we can change
|
||||
// serialization formats on
|
||||
type negotiatedSerializerWrapper struct {
|
||||
info runtime.SerializerInfo
|
||||
streamInfo runtime.StreamSerializerInfo
|
||||
info runtime.SerializerInfo
|
||||
}
|
||||
|
||||
func NegotiatedSerializerWrapper(info runtime.SerializerInfo, streamInfo runtime.StreamSerializerInfo) runtime.NegotiatedSerializer {
|
||||
return &negotiatedSerializerWrapper{info, streamInfo}
|
||||
func NegotiatedSerializerWrapper(info runtime.SerializerInfo) runtime.NegotiatedSerializer {
|
||||
return &negotiatedSerializerWrapper{info}
|
||||
}
|
||||
|
||||
func (n *negotiatedSerializerWrapper) SupportedMediaTypes() []string {
|
||||
return []string{}
|
||||
}
|
||||
|
||||
func (n *negotiatedSerializerWrapper) SerializerForMediaType(mediaType string, options map[string]string) (runtime.SerializerInfo, bool) {
|
||||
return n.info, true
|
||||
}
|
||||
|
||||
func (n *negotiatedSerializerWrapper) SupportedStreamingMediaTypes() []string {
|
||||
return []string{}
|
||||
}
|
||||
|
||||
func (n *negotiatedSerializerWrapper) StreamingSerializerForMediaType(mediaType string, options map[string]string) (runtime.StreamSerializerInfo, bool) {
|
||||
return n.streamInfo, true
|
||||
func (n *negotiatedSerializerWrapper) SupportedMediaTypes() []runtime.SerializerInfo {
|
||||
return []runtime.SerializerInfo{n.info}
|
||||
}
|
||||
|
||||
func (n *negotiatedSerializerWrapper) EncoderForVersion(e runtime.Encoder, _ runtime.GroupVersioner) runtime.Encoder {
|
||||
|
|
|
|||
42
vendor/k8s.io/kubernetes/pkg/runtime/serializer/protobuf/BUILD
generated
vendored
Normal file
42
vendor/k8s.io/kubernetes/pkg/runtime/serializer/protobuf/BUILD
generated
vendored
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
licenses(["notice"])
|
||||
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_binary",
|
||||
"go_library",
|
||||
"go_test",
|
||||
"cgo_library",
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [
|
||||
"doc.go",
|
||||
"protobuf.go",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
"//pkg/runtime/serializer/recognizer:go_default_library",
|
||||
"//pkg/util/framer:go_default_library",
|
||||
"//vendor:github.com/gogo/protobuf/proto",
|
||||
],
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_xtest",
|
||||
srcs = ["protobuf_test.go"],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api:go_default_library",
|
||||
"//pkg/api/install:go_default_library",
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/api/v1:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
"//pkg/runtime/serializer/protobuf:go_default_library",
|
||||
"//pkg/util/diff:go_default_library",
|
||||
],
|
||||
)
|
||||
10
vendor/k8s.io/kubernetes/pkg/runtime/serializer/protobuf_extension.go
generated
vendored
10
vendor/k8s.io/kubernetes/pkg/runtime/serializer/protobuf_extension.go
generated
vendored
|
|
@ -26,8 +26,7 @@ const (
|
|||
// depending on it unintentionally.
|
||||
// TODO: potentially move to pkg/api (since it's part of the Kube public API) and pass it in to the
|
||||
// CodecFactory on initialization.
|
||||
contentTypeProtobuf = "application/vnd.kubernetes.protobuf"
|
||||
contentTypeProtobufWatch = contentTypeProtobuf + ";stream=watch"
|
||||
contentTypeProtobuf = "application/vnd.kubernetes.protobuf"
|
||||
)
|
||||
|
||||
func protobufSerializer(scheme *runtime.Scheme) (serializerType, bool) {
|
||||
|
|
@ -38,12 +37,9 @@ func protobufSerializer(scheme *runtime.Scheme) (serializerType, bool) {
|
|||
ContentType: contentTypeProtobuf,
|
||||
FileExtensions: []string{"pb"},
|
||||
Serializer: serializer,
|
||||
RawSerializer: raw,
|
||||
|
||||
AcceptStreamContentTypes: []string{contentTypeProtobuf, contentTypeProtobufWatch},
|
||||
StreamContentType: contentTypeProtobufWatch,
|
||||
Framer: protobuf.LengthDelimitedFramer,
|
||||
StreamSerializer: raw,
|
||||
Framer: protobuf.LengthDelimitedFramer,
|
||||
StreamSerializer: raw,
|
||||
}, true
|
||||
}
|
||||
|
||||
|
|
|
|||
21
vendor/k8s.io/kubernetes/pkg/runtime/serializer/recognizer/BUILD
generated
vendored
Normal file
21
vendor/k8s.io/kubernetes/pkg/runtime/serializer/recognizer/BUILD
generated
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
licenses(["notice"])
|
||||
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_binary",
|
||||
"go_library",
|
||||
"go_test",
|
||||
"cgo_library",
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["recognizer.go"],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
],
|
||||
)
|
||||
33
vendor/k8s.io/kubernetes/pkg/runtime/serializer/streaming/BUILD
generated
vendored
Normal file
33
vendor/k8s.io/kubernetes/pkg/runtime/serializer/streaming/BUILD
generated
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
licenses(["notice"])
|
||||
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_binary",
|
||||
"go_library",
|
||||
"go_test",
|
||||
"cgo_library",
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["streaming.go"],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = ["streaming_test.go"],
|
||||
library = "go_default_library",
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
"//pkg/util/framer:go_default_library",
|
||||
],
|
||||
)
|
||||
34
vendor/k8s.io/kubernetes/pkg/runtime/serializer/versioning/BUILD
generated
vendored
Normal file
34
vendor/k8s.io/kubernetes/pkg/runtime/serializer/versioning/BUILD
generated
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
licenses(["notice"])
|
||||
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_binary",
|
||||
"go_library",
|
||||
"go_test",
|
||||
"cgo_library",
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["versioning.go"],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
"//pkg/util/runtime:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = ["versioning_test.go"],
|
||||
library = "go_default_library",
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//pkg/api/unversioned:go_default_library",
|
||||
"//pkg/runtime:go_default_library",
|
||||
"//pkg/util/diff:go_default_library",
|
||||
],
|
||||
)
|
||||
47
vendor/k8s.io/kubernetes/pkg/runtime/serializer/versioning/versioning.go
generated
vendored
47
vendor/k8s.io/kubernetes/pkg/runtime/serializer/versioning/versioning.go
generated
vendored
|
|
@ -21,6 +21,7 @@ import (
|
|||
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
utilruntime "k8s.io/kubernetes/pkg/util/runtime"
|
||||
)
|
||||
|
||||
// NewCodecForScheme is a convenience method for callers that are using a scheme.
|
||||
|
|
@ -32,7 +33,19 @@ func NewCodecForScheme(
|
|||
encodeVersion runtime.GroupVersioner,
|
||||
decodeVersion runtime.GroupVersioner,
|
||||
) runtime.Codec {
|
||||
return NewCodec(encoder, decoder, runtime.UnsafeObjectConvertor(scheme), scheme, scheme, scheme, encodeVersion, decodeVersion)
|
||||
return NewCodec(encoder, decoder, runtime.UnsafeObjectConvertor(scheme), scheme, scheme, scheme, nil, encodeVersion, decodeVersion)
|
||||
}
|
||||
|
||||
// NewDefaultingCodecForScheme is a convenience method for callers that are using a scheme.
|
||||
func NewDefaultingCodecForScheme(
|
||||
// TODO: I should be a scheme interface?
|
||||
scheme *runtime.Scheme,
|
||||
encoder runtime.Encoder,
|
||||
decoder runtime.Decoder,
|
||||
encodeVersion runtime.GroupVersioner,
|
||||
decodeVersion runtime.GroupVersioner,
|
||||
) runtime.Codec {
|
||||
return NewCodec(encoder, decoder, runtime.UnsafeObjectConvertor(scheme), scheme, scheme, scheme, scheme, encodeVersion, decodeVersion)
|
||||
}
|
||||
|
||||
// NewCodec takes objects in their internal versions and converts them to external versions before
|
||||
|
|
@ -45,6 +58,7 @@ func NewCodec(
|
|||
creater runtime.ObjectCreater,
|
||||
copier runtime.ObjectCopier,
|
||||
typer runtime.ObjectTyper,
|
||||
defaulter runtime.ObjectDefaulter,
|
||||
encodeVersion runtime.GroupVersioner,
|
||||
decodeVersion runtime.GroupVersioner,
|
||||
) runtime.Codec {
|
||||
|
|
@ -55,6 +69,7 @@ func NewCodec(
|
|||
creater: creater,
|
||||
copier: copier,
|
||||
typer: typer,
|
||||
defaulter: defaulter,
|
||||
|
||||
encodeVersion: encodeVersion,
|
||||
decodeVersion: decodeVersion,
|
||||
|
|
@ -69,6 +84,7 @@ type codec struct {
|
|||
creater runtime.ObjectCreater
|
||||
copier runtime.ObjectCopier
|
||||
typer runtime.ObjectTyper
|
||||
defaulter runtime.ObjectDefaulter
|
||||
|
||||
encodeVersion runtime.GroupVersioner
|
||||
decodeVersion runtime.GroupVersioner
|
||||
|
|
@ -102,11 +118,31 @@ func (c *codec) Decode(data []byte, defaultGVK *unversioned.GroupVersionKind, in
|
|||
}
|
||||
return into, gvk, nil
|
||||
}
|
||||
|
||||
// perform defaulting if requested
|
||||
if c.defaulter != nil {
|
||||
// create a copy to ensure defaulting is not applied to the original versioned objects
|
||||
if isVersioned {
|
||||
copied, err := c.copier.Copy(obj)
|
||||
if err != nil {
|
||||
utilruntime.HandleError(err)
|
||||
copied = obj
|
||||
}
|
||||
versioned.Objects = []runtime.Object{copied}
|
||||
}
|
||||
c.defaulter.Default(obj)
|
||||
} else {
|
||||
if isVersioned {
|
||||
versioned.Objects = []runtime.Object{obj}
|
||||
}
|
||||
}
|
||||
|
||||
if err := c.convertor.Convert(obj, into, c.decodeVersion); err != nil {
|
||||
return nil, gvk, err
|
||||
}
|
||||
|
||||
if isVersioned {
|
||||
versioned.Objects = []runtime.Object{obj, into}
|
||||
versioned.Objects = append(versioned.Objects, into)
|
||||
return versioned, gvk, nil
|
||||
}
|
||||
return into, gvk, nil
|
||||
|
|
@ -117,10 +153,17 @@ func (c *codec) Decode(data []byte, defaultGVK *unversioned.GroupVersionKind, in
|
|||
// create a copy, because ConvertToVersion does not guarantee non-mutation of objects
|
||||
copied, err := c.copier.Copy(obj)
|
||||
if err != nil {
|
||||
utilruntime.HandleError(err)
|
||||
copied = obj
|
||||
}
|
||||
versioned.Objects = []runtime.Object{copied}
|
||||
}
|
||||
|
||||
// perform defaulting if requested
|
||||
if c.defaulter != nil {
|
||||
c.defaulter.Default(obj)
|
||||
}
|
||||
|
||||
out, err := c.convertor.ConvertToVersion(obj, c.decodeVersion)
|
||||
if err != nil {
|
||||
return nil, gvk, err
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue