![]() The codec factory should support two distinct interfaces - negotiating for a serializer with a client, vs reading or writing data to a storage form (etcd, disk, etc). Make the EncodeForVersion and DecodeToVersion methods only take Encoder and Decoder, and slight refactoring elsewhere. In the storage factory, use a content type to control what serializer to pick, and use the universal deserializer. This ensures that storage can read JSON (which might be from older objects) while only writing protobuf. Add exceptions for those resources that may not be able to write to protobuf (specifically third party resources, but potentially others in the future). |
||
---|---|---|
.. | ||
rest | ||
server | ||
apiserver_test.go | ||
apiserver.go | ||
README.md |
PLEASE NOTE: This document applies to the HEAD of the source tree
If you are using a released version of Kubernetes, you should refer to the docs that go with that version.
The latest release of this document can be found [here](http://releases.k8s.io/release-1.2/examples/apiserver/README.md).Documentation for other releases can be found at releases.k8s.io.
API Server
This is a work in progress example for an API Server. We are working on isolating the generic api server code from kubernetes specific API objects. Some relevant issues:
- https://github.com/kubernetes/kubernetes/issues/17412
- https://github.com/kubernetes/kubernetes/issues/2742
- https://github.com/kubernetes/kubernetes/issues/13541
This code here is to examplify what it takes to write your own API server.
To start this example api server, run:
$ go run examples/apiserver/server/main.go