kubernetes/cmd
Kubernetes Submit Queue 1837914d8e Merge pull request #34029 from liggitt/service-account-rotation
Automatic merge from submit-queue

Enable service account signing key rotation

fixes #21007

```release-note
The kube-apiserver --service-account-key-file option can be specified multiple times, or can point to a file containing multiple keys, to enable rotation of signing keys.
```

This PR enables the apiserver authenticator to verify service account tokens signed by different private keys. This can be done two different ways:
* including multiple keys in the specified keyfile (e.g. `--service-account-key-file=keys.pem`)
* specifying multiple key files (e.g. `--service-account-key-file current-key.pem --service-account-key-file=old-key.pem`)

This is part of enabling signing key rotation:

1. update apiserver(s) to verify tokens signed with a new public key while still allowing tokens signed with the current public key (which is what this PR enables)
2. give controllermanager the new private key to sign new tokens with
3. remove old service account tokens (determined by verifying signature or by checking creationTimestamp) once they are no longer in use (determined using garbage collection or magic) or some other algorithm (24 hours after rotation, etc). For the deletion to immediately revoke the token, `--service-account-lookup` must be enabled on the apiserver.
4. once all old tokens are gone, update apiservers again, removing the old public key.
2016-10-10 21:54:03 -07:00
..
gendocs Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
genkubedocs Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
genman Add support for generating all the manpages to genman 2016-09-22 20:09:22 +05:30
genswaggertypedocs Remove GOMAXPROCS() calls because they are unnecessary 2016-07-19 11:08:21 +03:00
genutils Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
genyaml Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
hyperkube Remove old references to contrib/mesos 2016-10-01 16:46:48 +03:00
kube-apiserver Merge pull request #34029 from liggitt/service-account-rotation 2016-10-10 21:54:03 -07:00
kube-controller-manager Merge pull request #33792 from caesarxuchao/decouple-workqueue-prometheus 2016-10-05 22:10:11 -07:00
kube-discovery Expand on kube-discovery API and integrate container build. 2016-09-16 11:37:04 -03:00
kube-dns Support graceful termination in kube-dns 2016-09-01 12:54:33 -07:00
kube-proxy Add a lower-bound for conntrack 2016-09-26 20:25:40 -07:00
kubeadm Bump kubeadm to use kubernetes v1.4.1 2016-10-10 22:25:26 +03:00
kubectl Split the version metric out to its own package 2016-08-24 11:47:16 -07:00
kubelet Add cgroup driver and cgroups-per-qos flags to kubelet 2016-10-05 13:48:37 -04:00
kubemark remove almost all usages of clientadapter 2016-09-26 07:53:03 -04:00
kubernetes-discovery etcd3 validation showed that several unit tests that depend on apiserver being fully 2016-08-18 14:12:24 -05:00
libs/go2idl Merge pull request #30787 from jbeda/rsync 2016-10-05 19:51:09 -07:00
linkcheck Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
mungedocs Update the latestReleaseBranch to release-1.4 in the munger. 2016-09-01 14:40:55 -07:00
OWNERS Remove myself from a bunch of OWNERS files, as I am too overloaded 2016-05-11 13:34:51 -07:00