k3s/test/integration
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
..
apiserver use extensions client with explicit version 2017-11-22 21:18:14 +08:00
auth create auto-gen files 2018-01-17 16:23:03 +08:00
client use core client with explicit version globally 2017-10-27 15:48:32 +08:00
configmap use core client with explicit version globally 2017-10-27 15:48:32 +08:00
daemonset Check RegisterMetricAndTrackRateLimiterUsage error when starting controllers 2017-11-01 12:46:07 +01:00
defaulttolerationseconds Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
deployment Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
etcd fail earlier on discovery failures 2018-01-16 16:02:13 -05:00
evictions use core client with explicit version globally 2017-10-27 15:48:32 +08:00
examples Fix TestAggregatedAPIServer setup 2017-11-27 11:17:55 -05:00
framework remove duplicated import 2018-01-17 09:34:59 +08:00
garbagecollector Split the NodeController into lifecycle and ipam pieces. 2018-01-04 12:48:08 -08:00
master Revert k8s.gcr.io vanity domain 2017-12-22 14:36:16 -08:00
metrics Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
objectmeta
openshift
pods
quota admission: unify plugin constructors 2017-10-30 16:56:38 +01:00
replicaset Merge pull request #55995 from supereagle/extensions-client-with-version 2017-12-14 00:45:15 -08:00
replicationcontroller Add ReplicationController integration tests. 2017-11-07 14:55:47 -08:00
scale Fix build and test errors from etcd 3.2.13 upgrade 2018-01-07 08:22:08 -08:00
scheduler Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
scheduler_perf Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
secrets use core client with explicit version globally 2017-10-27 15:48:32 +08:00
serviceaccount Merge pull request #53592 from frodenas/bootstrap-controller 2017-11-07 11:21:15 -08:00
storageclasses use core client with explicit version globally 2017-10-27 15:48:32 +08:00
tls Adding support for custom TLS ciphers in api server and kubelet 2018-01-17 12:55:55 -08:00
ttlcontroller
volume Validate that PV capacity and PVC capacity requests are greater than zero 2017-11-13 08:57:01 -08:00
BUILD Adding support for custom TLS ciphers in api server and kubelet 2018-01-17 12:55:55 -08:00
benchmark-controller.json Update pause container version to 3.1 2018-01-04 11:35:29 +01:00
doc.go
utils.go use core client with explicit version globally 2017-10-27 15:48:32 +08:00