kubernetes/pkg/controller
Kubernetes Submit Queue e732ee70f4 Merge pull request #38406 from liggitt/remove-internal-json-annotations
Automatic merge from submit-queue

Remove json serialization annotations from internal types

fixes #3933

Internal types should never be serialized, and including json serialization tags on them makes it possible to accidentally do that without realizing it.

fixes in this PR:

* types
  * [x] remove json tags from internal types
  * [x] fix references from serialized types to internal ObjectMeta
* generation
  * [x] remove generated json codecs for internal types (they should never be used)
* kubectl
  * [x] fix `apply` to operate on versioned object
  * [x] fix sorting by field to operate on versioned object
  * [x] fix `--record` to build annotation patch using versioned object
* hpa
  * [x] fix unmarshaling to internal CustomMetricTargetList in validation
* thirdpartyresources
  * [x] fix encoding API responses using internal ObjectMeta
* tests
  * [x] fix tests to use versioned objects when checking encoded content
  * [x] fix tests passing internal objects to generic printers

follow ups (will open tracking issues or additional PRs):
- [ ] remove json tags from internal kubeconfig types (`kubectl config set` pathfinding needs to work against external type)
- [ ] HPA should version CustomMetricTargetList serialization in annotations
- [ ] revisit how TPR resthandlers encoding objects
- [ ] audit and add tests for printer use (human-readable printer requires internal versions, generic printers require external versions)
- [ ] add static analysis tests preventing new internal types from adding tags
- [ ] add static analysis tests requiring json tags on external types (and enforcing lower-case first letter)
- [ ] add more tests for `kubectl get` exercising known and unknown types with all output options
2016-12-10 14:00:17 -08:00
..
certificates Change 'controller.go' filenames to more meaningfull ones 2016-12-05 09:12:22 +01:00
cronjob GetOptions in client calls 2016-12-09 09:42:01 +01:00
daemon GetOptions in client calls 2016-12-09 09:42:01 +01:00
deployment GetOptions in client calls 2016-12-09 09:42:01 +01:00
disruption GetOptions in client calls 2016-12-09 09:42:01 +01:00
endpoint Update bazel files 2016-12-09 09:42:02 +01:00
garbagecollector Add verb support to gc and namespace controllers 2016-12-05 12:36:05 +01:00
informers demonstrate separation of controller intializers 2016-12-05 10:24:45 -05:00
job refactor: update bazel, codec, and gofmt 2016-12-03 19:10:53 -05:00
namespace GetOptions in client calls 2016-12-09 09:42:01 +01:00
node GetOptions in client calls 2016-12-09 09:42:01 +01:00
petset Merge pull request #37611 from yarntime/fix_typo_in_pet_set 2016-12-09 15:38:19 -08:00
podautoscaler Fix unmarshaling into internal version of CustomMetricTargetList in validation 2016-12-09 16:26:05 -05:00
podgc gcOrphaned check via the API that the node doesn’t exist 2016-12-06 12:17:38 +01:00
replicaset GetOptions in client calls 2016-12-09 09:42:01 +01:00
replication GetOptions in client calls 2016-12-09 09:42:01 +01:00
resourcequota Ability to quota storage by storage class 2016-12-09 13:26:59 -05:00
route refactor: update bazel, codec, and gofmt 2016-12-03 19:10:53 -05:00
service Merge pull request #31321 from anguslees/lb-nodes 2016-12-05 20:16:53 -08:00
serviceaccount Merge pull request #38371 from wojtek-t/get_options_in_client 2016-12-09 04:12:09 -08:00
volume Merge pull request #37871 from Random-Liu/use-patch-in-kubelet 2016-12-09 11:29:11 -08:00
.import-restrictions add import restrictions 2016-10-13 16:10:24 -07:00
BUILD Pass addressable values to DeepCopy 2016-12-08 14:16:01 -05:00
client_builder.go GetOptions in client calls 2016-12-09 09:42:01 +01:00
controller_ref_manager.go generated: refactor 2016-11-23 22:30:47 -06:00
controller_utils_test.go refactor: update bazel, codec, and gofmt 2016-12-03 19:10:53 -05:00
controller_utils.go Pass addressable values to DeepCopy 2016-12-08 14:16:01 -05:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
lookup_cache.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
OWNERS Remove myself from a bunch of OWNERS files, as I am too overloaded 2016-05-11 13:34:51 -07:00