Library for writing a Kubernetes-style API server.
Go to file
Marek Siarkowicz 5587d5c607 Improve performance of http access logs
Fixes:
* Don't call LogArgs if log will not be written due low verbosity
* Create separate slice for hijacked to avoid append on main path
* Shorten log message as this log is to common to be verbose

name           old time/op    new time/op    delta
WithLogging-4    4.95µs ± 3%    3.52µs ± 1%  -28.80%  (p=0.000 n=10+8)

name           old alloc/op   new alloc/op   delta
WithLogging-4    2.93kB ± 0%    1.22kB ± 0%  -58.45%  (p=0.000 n=10+9)

name           old allocs/op  new allocs/op  delta
WithLogging-4      32.0 ± 0%      20.0 ± 0%  -37.50%  (p=0.000 n=10+10)

Kubernetes-commit: 303e1c19225149868d735b5c876d8ca9d3e1b5c9
2020-06-23 13:56:01 +02:00
.github delete all duplicate empty blanks 2019-02-22 09:43:51 +08:00
Godeps Merge pull request #92438 from liggitt/1.14 2020-06-24 09:24:55 +00:00
pkg Improve performance of http access logs 2020-06-23 13:56:01 +02:00
plugin/pkg remove dynamic audit 2020-05-27 14:04:09 -04:00
.import-restrictions convert .import-restrictions to yaml 2020-04-22 15:41:00 -07:00
CONTRIBUTING.md Update deprecated links 2019-02-04 13:28:31 -05:00
LICENSE Add README and LICENSE to staging repos 2017-10-23 16:39:02 +05:30
OWNERS Remove tallclair from some OWNERS files 2020-02-20 15:07:06 -08:00
README.md delete all duplicate empty blanks 2019-02-22 09:43:51 +08:00
SECURITY_CONTACTS Add myself to staging repo SECURITY_CONTACTS 2020-04-27 16:39:25 +02:00
code-of-conduct.md Add code-of-conduct.md to staging repos 2017-12-20 15:21:56 -05:00
go.mod Merge pull request #92438 from liggitt/1.14 2020-06-24 09:24:55 +00:00
go.sum Merge pull request #92438 from liggitt/1.14 2020-06-24 09:24:55 +00:00

README.md

apiserver

Generic library for building a Kubernetes aggregated API server.

Purpose

This library contains code to create Kubernetes aggregation server complete with delegated authentication and authorization, kubectl compatible discovery information, optional admission chain, and versioned types. It's first consumers are k8s.io/kubernetes, k8s.io/kube-aggregator, and github.com/kubernetes-incubator/service-catalog.

Compatibility

There are NO compatibility guarantees for this repository, yet. It is in direct support of Kubernetes, so branches will track Kubernetes and be compatible with that repo. As we more cleanly separate the layers, we will review the compatibility guarantee. We have a goal to make this easier to use in the future.

Where does it come from?

apiserver is synced from https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiserver. Code changes are made in that location, merged into k8s.io/kubernetes and later synced here.

Things you should NOT do

  1. Directly modify any files under pkg in this repo. Those are driven from k8s.io/kubernetes/staging/src/k8s.io/apiserver.
  2. Expect compatibility. This repo is changing quickly in direct support of Kubernetes and the API isn't yet stable enough for API guarantees.