README

code-generator

Golang code-generators used to implement Kubernetes-style API types.

Purpose

These code-generators can be used

  • in the context of CustomResourceDefinition to build native, versioned clients, informers and other helpers
  • in the context of User-provider API Servers to build conversions between internal and versioned types, defaulters, protobuf codecs, internal and versioned clients and informers.

Resources

Compatibility

HEAD of this repo will match HEAD of k8s.io/apiserver, k8s.io/apimachinery, and k8s.io/client-go.

Where does it come from?

code-generator is synced from https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/code-generator. Code changes are made in that location, merged into k8s.io/kubernetes and later synced here.

Expand ▾ Collapse ▴

Directories

Path Synopsis
_examples
MixedCase/apis/example/v1
+k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta +groupName=example.crd.code-generator.k8s.io
+k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta +groupName=example.crd.code-generator.k8s.io
MixedCase/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
MixedCase/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
MixedCase/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
MixedCase/clientset/versioned/typed/example/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
MixedCase/clientset/versioned/typed/example/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
apiserver/apis/example/install
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
apiserver/apis/example2/install
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
apiserver/clientset/internalversion
This package has the automatically generated clientset.
This package has the automatically generated clientset.
apiserver/clientset/internalversion/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
apiserver/clientset/internalversion/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
apiserver/clientset/internalversion/typed/example/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
apiserver/clientset/internalversion/typed/example/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
apiserver/clientset/internalversion/typed/example2/internalversion
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
apiserver/clientset/internalversion/typed/example2/internalversion/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
apiserver/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
apiserver/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
apiserver/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
apiserver/clientset/versioned/typed/example/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
apiserver/clientset/versioned/typed/example/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
apiserver/clientset/versioned/typed/example2/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
apiserver/clientset/versioned/typed/example2/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
crd/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
crd/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
crd/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
crd/clientset/versioned/typed/example/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
crd/clientset/versioned/typed/example/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
crd/clientset/versioned/typed/example2/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
crd/clientset/versioned/typed/example2/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cmd
client-gen
client-gen makes the individual typed clients using gengo.
client-gen makes the individual typed clients using gengo.
client-gen/generators
Package generators has the generators for the client-gen utility.
Package generators has the generators for the client-gen utility.
conversion-gen
conversion-gen is a tool for auto-generating functions that convert between internal and external types.
conversion-gen is a tool for auto-generating functions that convert between internal and external types.
deepcopy-gen
deepcopy-gen is a tool for auto-generating DeepCopy functions.
deepcopy-gen is a tool for auto-generating DeepCopy functions.
defaulter-gen
defaulter-gen is a tool for auto-generating Defaulter functions.
defaulter-gen is a tool for auto-generating Defaulter functions.
go-to-protobuf
go-to-protobuf generates a Protobuf IDL from a Go struct, respecting any existing IDL tags on the Go struct.
go-to-protobuf generates a Protobuf IDL from a Go struct, respecting any existing IDL tags on the Go struct.
go-to-protobuf/protobuf
go-to-protobuf generates a Protobuf IDL from a Go struct, respecting any existing IDL tags on the Go struct.
go-to-protobuf generates a Protobuf IDL from a Go struct, respecting any existing IDL tags on the Go struct.
go-to-protobuf/protoc-gen-gogo
Package main defines the protoc-gen-gogo binary we use to generate our proto go files, as well as takes dependencies on the correct gogo/protobuf packages for godeps.
Package main defines the protoc-gen-gogo binary we use to generate our proto go files, as well as takes dependencies on the correct gogo/protobuf packages for godeps.
import-boss
import-boss enforces import restrictions in a given repository.
import-boss enforces import restrictions in a given repository.
set-gen
set-gen is an example usage of gengo.
set-gen is an example usage of gengo.
pkg
third_party
forked/golang/reflect
This package is copied from Go library reflect/type.go.
This package is copied from Go library reflect/type.go.