k3s/pkg/kubeapiserver/options
Kubernetes Submit Queue 42adb9ef25 Merge pull request #50258 from liggitt/token-cache
Automatic merge from submit-queue (batch tested with PRs 49488, 50407, 46105, 50456, 50258)

Enable caching successful token authentication

Resolves #50472

To support revocation of service account tokens, an etcd lookup of the token and service account is done by the token authenticator. Controllers that make dozens or hundreds of API calls per second (like the endpoints controller) cause this lookup to be done very frequently on the same objects.

This PR:
* Implements a cached token authenticator that conforms to the authenticator.Token interface
* Implements a union token authenticator (same approach as the union request authenticator, conforming to the authenticator.Token interface)
* Cleans up the auth chain construction to group all token authenticators (means we only do bearer and websocket header parsing once)
* Adds a 10-second TTL cache to successful token authentication

```release-note
API server authentication now caches successful bearer token authentication results for a few seconds.
```
2017-08-11 14:14:06 -07:00
..
BUILD Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
api_enablement.go move --runtime-config to kubeapiserver 2017-02-07 13:43:13 -05:00
authentication.go Simplify bearer token auth chain, cache successful authentications 2017-08-09 23:37:24 -04:00
authorization.go Delete "hard-coded" default value in flags usage. 2017-04-07 11:21:37 +08:00
cloudprovider.go Set external hostname in local-up-cluster 2017-07-24 07:58:46 -04:00
serving.go Delete "hard-coded" default value in flags usage. 2017-04-07 11:21:37 +08:00
storage_versions.go streamline etcd options for aggregated api server 2017-02-08 09:07:47 -05:00
storage_versions_test.go remove unneeded storage options 2017-01-31 13:44:39 -05:00