Library for writing a Kubernetes-style API server.
Go to file
Kubernetes Publisher ceea762f7c Merge pull request #58185 from caesarxuchao/webhook-cluster-scoped-resources
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>.

Never let cluster-scoped resources skip webhooks

Fix #57964

This allows user write webhooks for cluster-scoped custom resources.

We still need to figure out how to selectively exempt cluster-scoped resources from webhooks to avoid bootstrapping deadlocks. For now, if a deadlock occurs, users can work around by first deleting the webhook configuration, then rebooting the webhook, then re-enabling the webhook configuration.

```release-note
Bug fix: webhooks now do not skip cluster-scoped resources

Action required: Before upgrading your Kubernetes clusters, double check if you had configured webhooks for cluster-scoped objects (e.g., nodes, persistentVolume), these webhooks will start to take effect. Delete/modify the configs if that's not desirable.
```

Kubernetes-commit: 0b8f3a2240c7444196e321ded215eafd7a2c96db
2018-01-25 05:16:17 +00:00
.github Treat staging repos as authoritative for all files 2017-12-22 17:09:51 -05:00
Godeps Merge pull request #58185 from caesarxuchao/webhook-cluster-scoped-resources 2018-01-25 05:16:17 +00:00
pkg run update bazel and staging-godep 2018-01-20 17:21:44 +08:00
plugin/pkg Autogenerate BUILD files 2017-12-23 13:06:26 -08:00
vendor Merge pull request #53631 from dixudx/enforce_cobra_required_flags 2018-01-18 13:19:15 +00:00
.import-restrictions move pkg/auth/user to staging 2017-01-13 13:38:43 -05:00
LICENSE Add README and LICENSE to staging repos 2017-10-23 16:39:02 +05:30
OWNERS Add enj as reviewer to OWNERS 2017-08-29 13:16:16 +00:00
README.md Fix Typo in apiserver README 2018-01-07 08:45:11 +05:30
code-of-conduct.md Add code-of-conduct.md to staging repos 2017-12-20 15:21:56 -05: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 2017.

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.