Library for writing a Kubernetes-style API server.
Go to file
Marek Siarkowicz 80746a8efd Disable estimating resource size for resources with watch cache disabled
Listing all keys from etcd turned out to be too expensive, negativly
impacting events POST latency. Events resource is the only resource that
by default has watch cache disabled and which includes very
large number of small objects making it very costly to list keys.

Expected impact:
* No apiserver_resource_size_estimate_bytes metric for events.
* APF overestimating LIST request cost to events. Fallback assumes
  object size of 1.5MB, meaning LIST events will always get maxSeats

Kubernetes-commit: 3e84e16315ac2b3cb9729a98ed1ae636d8900db6
2025-09-03 15:42:41 +02:00
.github delete all duplicate empty blanks 2019-02-22 09:43:51 +08:00
pkg Disable estimating resource size for resources with watch cache disabled 2025-09-03 15:42:41 +02:00
plugin/pkg authz tests: delay response in context cancelled scenario 2025-07-30 14:33:28 +02:00
.import-restrictions convert .import-restrictions to yaml 2020-04-22 15:41:00 -07:00
ARCHITECTURE.md Apply feedback, minor cleanups 2025-08-21 16:11:41 -04: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 Use emeritus_* 2024-08-22 17:48:27 -04:00
README.md clarify that staging repos are automatically published 2025-08-15 14:33:07 -07:00
SECURITY_CONTACTS update security contacts for apimachinery repos 2020-07-02 16:00:53 -04:00
code-of-conduct.md Add code-of-conduct.md to staging repos 2017-12-20 15:21:56 -05:00
doc.go Apply feedback, minor cleanups 2025-08-21 16:11:41 -04:00
go.mod Merge pull request #133647 from jpbetz/apiserver-docs 2025-09-02 12:39:15 +00:00
go.sum Merge pull request #133647 from jpbetz/apiserver-docs 2025-09-02 12:39:15 +00:00

README.md

⚠️ This is an automatically published staged repository for Kubernetes.
Contributions, including issues and pull requests, should be made to the main Kubernetes repository: https://github.com/kubernetes/kubernetes.
This repository is read-only for importing, and not used for direct contributions.
See CONTRIBUTING.md for more details.

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.