mirror of https://github.com/k3s-io/k3s
![]() Automatic merge from submit-queue (batch tested with PRs 60890, 63244, 60741, 63254). 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>. Indicate clusterrolebinding, rolebinding subjects are optional fields **What this PR does / why we need it**: With this PR, clusterrolebinding and rolebinding subjects are marked optional instead of required. Currently we cannot create clusterrolebinding and rolebinding with subjects are empty using `kubectl create/apply/replace -f`. ``` $ kubectl create rolebinding test --clusterrole view rolebinding "test" created $ kubectl get rolebinding test -o yaml apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: creationTimestamp: 2018-03-02T06:58:16Z name: test namespace: default resourceVersion: "5606612" selfLink: /apis/rbac.authorization.k8s.io/v1/namespaces/default/rolebindings/test uid: 155c5c29-1de7-11e8-9f6f-fa163ec89f2a roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: view subjects: null $ kubectl get rolebinding test -o yaml | kubectl replace -f - error: error validating "STDIN": error validating data: ValidationError(RoleBinding): missing required field "subjects" in io.k8s.api.rbac.v1.RoleBinding; if you choose to ignore these errors, turn validation off with --validate=false ``` **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes # **Special notes for your reviewer**: This is a same issue with https://github.com/kubernetes/kubernetes/issues/59403. /cc @liggitt **Release note**: ```release-note NONE ``` |
||
---|---|---|
.. | ||
BUILD | ||
README.md | ||
swagger.json |
README.md
Kubernetes's OpenAPI Specification
This folder contains an [OpenAPI specification][openapi] for Kubernetes API.
Vendor Extensions
Kubernetes extends OpenAPI using these extensions. Note the version that extensions has 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.