Skip to content

Commit

Permalink
omit enums from static openapi snapshots used to generate clients
Browse files Browse the repository at this point in the history
  • Loading branch information
liggitt committed Mar 31, 2022
1 parent 2b52a1e commit ddd15e1
Show file tree
Hide file tree
Showing 12 changed files with 120 additions and 712 deletions.
246 changes: 35 additions & 211 deletions api/openapi-spec/swagger.json

Large diffs are not rendered by default.

208 changes: 29 additions & 179 deletions api/openapi-spec/v3/api__v1_openapi.json

Large diffs are not rendered by default.

121 changes: 18 additions & 103 deletions api/openapi-spec/v3/apis__apps__v1_openapi.json

Large diffs are not rendered by default.

97 changes: 14 additions & 83 deletions api/openapi-spec/v3/apis__batch__v1_openapi.json

Large diffs are not rendered by default.

90 changes: 13 additions & 77 deletions api/openapi-spec/v3/apis__batch__v1beta1_openapi.json

Large diffs are not rendered by default.

7 changes: 1 addition & 6 deletions api/openapi-spec/v3/apis__discovery.k8s.io__v1_openapi.json
Expand Up @@ -165,12 +165,7 @@
"properties": {
"addressType": {
"default": "",
"description": "addressType specifies the type of address carried by this EndpointSlice. All addresses in this slice must be the same type. This field is immutable after creation. The following address types are currently supported: * IPv4: Represents an IPv4 Address. * IPv6: Represents an IPv6 Address. * FQDN: Represents a Fully Qualified Domain Name.\n\nPossible enum values:\n - `\"FQDN\"` represents a FQDN.\n - `\"IPv4\"` represents an IPv4 Address.\n - `\"IPv6\"` represents an IPv6 Address.",
"enum": [
"FQDN",
"IPv4",
"IPv6"
],
"description": "addressType specifies the type of address carried by this EndpointSlice. All addresses in this slice must be the same type. This field is immutable after creation. The following address types are currently supported: * IPv4: Represents an IPv4 Address. * IPv6: Represents an IPv6 Address. * FQDN: Represents a Fully Qualified Domain Name.\n\n",
"type": "string"
},
"apiVersion": {
Expand Down
7 changes: 1 addition & 6 deletions api/openapi-spec/v3/apis__networking.k8s.io__v1_openapi.json
Expand Up @@ -60,12 +60,7 @@
},
"protocol": {
"default": "",
"description": "Protocol is the protocol of the service port of which status is recorded here The supported values are: \"TCP\", \"UDP\", \"SCTP\"\n\nPossible enum values:\n - `\"SCTP\"` is the SCTP protocol.\n - `\"TCP\"` is the TCP protocol.\n - `\"UDP\"` is the UDP protocol.",
"enum": [
"SCTP",
"TCP",
"UDP"
],
"description": "Protocol is the protocol of the service port of which status is recorded here The supported values are: \"TCP\", \"UDP\", \"SCTP\"\n\n",
"type": "string"
}
},
Expand Down
Expand Up @@ -33,15 +33,7 @@
},
"operator": {
"default": "",
"description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.\n\nPossible enum values:\n - `\"DoesNotExist\"`\n - `\"Exists\"`\n - `\"Gt\"`\n - `\"In\"`\n - `\"Lt\"`\n - `\"NotIn\"`",
"enum": [
"DoesNotExist",
"Exists",
"Gt",
"In",
"Lt",
"NotIn"
],
"description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.\n\n",
"type": "string"
},
"values": {
Expand Down
13 changes: 2 additions & 11 deletions api/openapi-spec/v3/apis__node.k8s.io__v1_openapi.json
Expand Up @@ -5,24 +5,15 @@
"description": "The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.",
"properties": {
"effect": {
"description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n\nPossible enum values:\n - `\"NoExecute\"` Evict any already-running pods that do not tolerate the taint. Currently enforced by NodeController.\n - `\"NoSchedule\"` Do not allow new pods to schedule onto the node unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running. Enforced by the scheduler.\n - `\"PreferNoSchedule\"` Like TaintEffectNoSchedule, but the scheduler tries not to schedule new pods onto the node, rather than prohibiting new pods from scheduling onto the node entirely. Enforced by the scheduler.",
"enum": [
"NoExecute",
"NoSchedule",
"PreferNoSchedule"
],
"description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n\n",
"type": "string"
},
"key": {
"description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.",
"type": "string"
},
"operator": {
"description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.\n\nPossible enum values:\n - `\"Equal\"`\n - `\"Exists\"`",
"enum": [
"Equal",
"Exists"
],
"description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.\n\n",
"type": "string"
},
"tolerationSeconds": {
Expand Down
13 changes: 2 additions & 11 deletions api/openapi-spec/v3/apis__node.k8s.io__v1beta1_openapi.json
Expand Up @@ -5,24 +5,15 @@
"description": "The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.",
"properties": {
"effect": {
"description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n\nPossible enum values:\n - `\"NoExecute\"` Evict any already-running pods that do not tolerate the taint. Currently enforced by NodeController.\n - `\"NoSchedule\"` Do not allow new pods to schedule onto the node unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running. Enforced by the scheduler.\n - `\"PreferNoSchedule\"` Like TaintEffectNoSchedule, but the scheduler tries not to schedule new pods onto the node, rather than prohibiting new pods from scheduling onto the node entirely. Enforced by the scheduler.",
"enum": [
"NoExecute",
"NoSchedule",
"PreferNoSchedule"
],
"description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n\n",
"type": "string"
},
"key": {
"description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.",
"type": "string"
},
"operator": {
"description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.\n\nPossible enum values:\n - `\"Equal\"`\n - `\"Exists\"`",
"enum": [
"Equal",
"Exists"
],
"description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.\n\n",
"type": "string"
},
"tolerationSeconds": {
Expand Down
17 changes: 2 additions & 15 deletions api/openapi-spec/v3/apis__storage.k8s.io__v1_openapi.json
Expand Up @@ -532,15 +532,7 @@
},
"operator": {
"default": "",
"description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.\n\nPossible enum values:\n - `\"DoesNotExist\"`\n - `\"Exists\"`\n - `\"Gt\"`\n - `\"In\"`\n - `\"Lt\"`\n - `\"NotIn\"`",
"enum": [
"DoesNotExist",
"Exists",
"Gt",
"In",
"Lt",
"NotIn"
],
"description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.\n\n",
"type": "string"
},
"values": {
Expand Down Expand Up @@ -792,12 +784,7 @@
"description": "nodeAffinity defines constraints that limit what nodes this volume can be accessed from. This field influences the scheduling of pods that use this volume."
},
"persistentVolumeReclaimPolicy": {
"description": "persistentVolumeReclaimPolicy defines what happens to a persistent volume when released from its claim. Valid options are Retain (default for manually created PersistentVolumes), Delete (default for dynamically provisioned PersistentVolumes), and Recycle (deprecated). Recycle must be supported by the volume plugin underlying this PersistentVolume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming\n\nPossible enum values:\n - `\"Delete\"` means the volume will be deleted from Kubernetes on release from its claim. The volume plugin must support Deletion.\n - `\"Recycle\"` means the volume will be recycled back into the pool of unbound persistent volumes on release from its claim. The volume plugin must support Recycling.\n - `\"Retain\"` means the volume will be left in its current phase (Released) for manual reclamation by the administrator. The default policy is Retain.",
"enum": [
"Delete",
"Recycle",
"Retain"
],
"description": "persistentVolumeReclaimPolicy defines what happens to a persistent volume when released from its claim. Valid options are Retain (default for manually created PersistentVolumes), Delete (default for dynamically provisioned PersistentVolumes), and Recycle (deprecated). Recycle must be supported by the volume plugin underlying this PersistentVolume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming\n\n",
"type": "string"
},
"photonPersistentDisk": {
Expand Down
3 changes: 2 additions & 1 deletion hack/update-openapi-spec.sh
Expand Up @@ -68,14 +68,15 @@ if [[ ! -f "${SERVICE_ACCOUNT_KEY}" ]]; then
fi

# Start kube-apiserver
# omit enums from static openapi snapshots used to generate clients until #109177 is resolved
kube::log::status "Starting kube-apiserver"
"${KUBE_OUTPUT_HOSTBIN}/kube-apiserver" \
--bind-address="${API_HOST}" \
--secure-port="${API_PORT}" \
--etcd-servers="http://${ETCD_HOST}:${ETCD_PORT}" \
--advertise-address="10.10.10.10" \
--cert-dir="${TMP_DIR}/certs" \
--feature-gates=AllAlpha=true \
--feature-gates=AllAlpha=true,OpenAPIEnums=false \
--runtime-config="api/all=true" \
--token-auth-file="${TMP_DIR}/tokenauth.csv" \
--authorization-mode=RBAC \
Expand Down

0 comments on commit ddd15e1

Please sign in to comment.