What is the role of types.generated.go in kubernetes?

12/27/2016

What is the role of types.generated.go

  1. What is it generated from?
  2. What is it's usage?

I see a section in code like:

if yyq2[7] { z.EncSendContainerState(codecSelfer_containerMapKey1234)

what does things like yyq2 are?

-- Jas
kubernetes

1 Answer

6/20/2017

First, k8s use gengo to generate code.

There are several project in kubernetes/cmd/libs/go2idl, such as go-to-protobuf, client-gen, set-gen,lister-gen.

  1. K8s generate protobuf from go struct by go-to-protobuf. The generate script define in kubernetes/hack/update-generated-protobuf.sh
  2. K8s generate client and util source code by client-gen, set-gen, lister-gen, the generate script define in kubernetes/hack/update-codegen.sh
  3. K8s generate types.generated.go by go/codec, the generate script define in kubernetes/hack/update-codecgen.sh. The type in types.generated.go is for rpc serialization.
-- jolestar
Source: StackOverflow