kubernetes/api/openapi-spec
Ignoramuss 3b25b16ce1 api: enable optionalorrequired linter for authentication API
Add missing +optional and +required markers to authentication API types
across v1, v1beta1, and v1alpha1 versions, and remove authentication
from the linter exception lists.

Part of kubernetes/kubernetes#134671
2026-02-13 17:40:47 -08:00
..
v3 api: enable optionalorrequired linter for authentication API 2026-02-13 17:40:47 -08:00
README.md Document x-kubernetes-list-map-keys into OpenAPI extensions 2025-12-05 23:37:35 -08:00
swagger.json api: enable optionalorrequired linter for authentication API 2026-02-13 17:40:47 -08:00

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-list-map-keys

Operations and Definitions may have x-kubernetes-list-maps-keys if they are associated with a kubernetes resource. x-kubernetes-list-type = map specifies field names inside each list element to serve as unique keys for the list-as-map.

For example:

{
  "type": "object",
  "properties": {
    "servers": {
      "type": "array",
      "x-kubernetes-list-type": "map",
      "x-kubernetes-list-map-keys": ["name"],
      "items": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "address": { "type": "string" }
        },
        "required": ["name"]
      }
    }
  }
}

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.