kubernetes/cmd
Kubernetes Submit Queue b7100f1ee7
Merge pull request #48859 from victorgp/master
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Support for custom tls cipher suites in api server and kubelet

**What this PR does / why we need it**:
This pull request aims to solve the problem of users not able to set custom cipher suites in the api server.
Several users have requested this given that some default ciphers are vulnerable.
There is a discussion in #41038 of how to implement this. The options are:
- Setting a fixed list of ciphers, but users will have different requirements so a fixed list would be problematic.
- Letting the user set them by parameter, this requires adding a new parameter that could be pretty long with the list of all the ciphers.

I implemented the second option, if the ciphers are not passed by parameter, the Go default ones will be used (same behavior as now).

**Which issue this PR fixes** 
fixes #41038 

**Special notes for your reviewer**:
The ciphers in Go tls config are constants and the ones passed by parameters are a comma-separated list. I needed to create the `type CipherSuitesFlag` to support that conversion/mapping, because i couldn't find any way to do this type of reflection in Go.
If you think there is another way to implement this, let me know.

If you want to test it out, this is a ciphers combination i tested without the weak ones:

```
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
```

If this is merged i will implement the same for the Kubelet.

**Release note**:
```release-note
kube-apiserver and kubelet now support customizing TLS ciphers via a `--tls-cipher-suites` flag
```
2018-01-17 17:46:40 -08:00
..
clicheck Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
cloud-controller-manager low hanging fruit for using cobra commands 2018-01-17 13:43:43 -05:00
controller-manager/app/options Seperate loop and plugin control 2017-12-18 10:58:45 -08:00
gendocs Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
genkubedocs Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
genman Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
genswaggertypedocs Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
genutils Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
genyaml Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
gke-certificates-controller Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
hyperkube low hanging fruit for using cobra commands 2018-01-17 13:43:43 -05:00
importverifier Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
kube-apiserver low hanging fruit for using cobra commands 2018-01-17 13:43:43 -05:00
kube-controller-manager Merge pull request #58407 from deads2k/cmd-01-sweep-for-simple 2018-01-17 17:00:32 -08:00
kube-proxy low hanging fruit for using cobra commands 2018-01-17 13:43:43 -05:00
kube-scheduler low hanging fruit for using cobra commands 2018-01-17 13:43:43 -05:00
kubeadm Merge pull request #58255 from dixudx/kubeadm_add_newWebhooks 2018-01-17 17:01:48 -08:00
kubectl low hanging fruit for using cobra commands 2018-01-17 13:43:43 -05:00
kubelet Merge pull request #48859 from victorgp/master 2018-01-17 17:46:40 -08:00
kubemark Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
linkcheck Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
BUILD Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
OWNERS Updated top level owners file to match new format 2017-01-19 11:29:16 -08:00