
When moving the reservation of a claim for a pod into the PreBind phase in a future commit, multiple different update attempts will be executed concurrently. We want an attempt to succeed if and only if adding the entry passes validation. Without patch strategy and key, strategic-merge-patch replaces the entire ReservedFor instead of adding new entries. Server-side-apply cannot be used because each attempt may start with a stale ResourceClaim (thus cannot send the entire ReservedFor) and SSA doesn't support merging when using the same manager string. Using different managers (one for each entry) would work, but sounds like a bad hack.
Kubernetes's OpenAPI Specification
This folder contains an OpenAPI specification for Kubernetes API.
Vendor Extensions
Kubernetes extends OpenAPI using these extensions. Note the version that extensions have been added.
x-kubernetes-group-version-kind
Operations and Definitions may have x-kubernetes-group-version-kind
if they
are associated with a kubernetes resource.
For example:
"paths": {
...
"/api/v1/namespaces/{namespace}/pods/{name}": {
...
"get": {
...
"x-kubernetes-group-version-kind": {
"group": "",
"version": "v1",
"kind": "Pod"
}
}
}
}
x-kubernetes-action
Operations and Definitions may have x-kubernetes-action
if they
are associated with a kubernetes resource.
Action can be one of get
, list
, put
, patch
, post
, delete
, deletecollection
, watch
, watchlist
, proxy
, or connect
.
For example:
"paths": {
...
"/api/v1/namespaces/{namespace}/pods/{name}": {
...
"get": {
...
"x-kubernetes-action": "list"
}
}
}
x-kubernetes-patch-strategy
and x-kubernetes-patch-merge-key
Some of the definitions may have these extensions. For more information about PatchStrategy and PatchMergeKey see strategic-merge-patch.