• Kubernetes Submit Queue's avatar
    Merge pull request #50258 from liggitt/token-cache · 42adb9ef
    Kubernetes Submit Queue authored
    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.
    ```
    42adb9ef
Name
Last commit
Last update
.github Loading commit data...
Godeps Loading commit data...
api Loading commit data...
build Loading commit data...
cluster Loading commit data...
cmd Loading commit data...
docs Loading commit data...
examples Loading commit data...
federation Loading commit data...
hack Loading commit data...
logo Loading commit data...
pkg Loading commit data...
plugin Loading commit data...
staging Loading commit data...
test Loading commit data...
third_party Loading commit data...
translations Loading commit data...
vendor Loading commit data...
.bazelrc Loading commit data...
.generated_files Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.kazelcfg.json Loading commit data...
BUILD.bazel Loading commit data...
CHANGELOG.md Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
Makefile.generated_files Loading commit data...
OWNERS Loading commit data...
OWNERS_ALIASES Loading commit data...
README.md Loading commit data...
Vagrantfile Loading commit data...
WORKSPACE Loading commit data...
code-of-conduct.md Loading commit data...
labels.yaml Loading commit data...