Skip to content

Instantly share code, notes, and snippets.

@Oyelowo
Created November 3, 2022 04:06
Show Gist options
  • Save Oyelowo/793fbd6ec7da18ebff79a8cb53878ea0 to your computer and use it in GitHub Desktop.
Save Oyelowo/793fbd6ec7da18ebff79a8cb53878ea0 to your computer and use it in GitHub Desktop.
Argo events json schema
This file has been truncated, but you can view the full file.
$id: http://events.argoproj.io/events.json
$schema: http://json-schema.org/schema#
definitions:
io.argoproj.common.Amount:
description: Amount represent a numeric amount.
type: number
io.argoproj.common.Backoff:
description: Backoff for an operation
properties:
duration:
$ref: "#/definitions/io.argoproj.common.Int64OrString"
description: The initial duration in nanoseconds or strings like "1s", "3m"
factor:
$ref: "#/definitions/io.argoproj.common.Amount"
description: Duration is multiplied by factor each iteration
jitter:
$ref: "#/definitions/io.argoproj.common.Amount"
description: The amount of jitter applied each iteration
steps:
description: Exit with error after this many steps
format: int32
type: integer
type: object
io.argoproj.common.BasicAuth:
description: BasicAuth contains the reference to K8s secrets that holds the
username and password
properties:
password:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
Password refers to the Kubernetes secret that holds the password
required for basic auth.
username:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
Username refers to the Kubernetes secret that holds the username
required for basic auth.
type: object
io.argoproj.common.Condition:
description: Condition contains details about resource state
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition transitioned from one status to another.
message:
description: Human-readable message indicating details about last transition.
type: string
reason:
description:
Unique, this should be a short, machine understandable string that
gives the reason for condition's last transition. For example,
"ImageNotFound"
type: string
status:
description: Condition status, True, False or Unknown.
type: string
type:
description: Condition type.
type: string
required:
- type
- status
type: object
io.argoproj.common.Int64OrString:
format: int64-or-string
type:
- integer
- string
io.argoproj.common.Metadata:
description: Metadata holds the annotations and labels of an event source pod
properties:
annotations:
additionalProperties:
type: string
type: object
labels:
additionalProperties:
type: string
type: object
type: object
io.argoproj.common.Resource:
description: Resource represent arbitrary structured data.
type: object
io.argoproj.common.S3Artifact:
description: S3Artifact contains information about an S3 connection and bucket
properties:
accessKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
bucket:
$ref: "#/definitions/io.argoproj.common.S3Bucket"
endpoint:
type: string
events:
items:
type: string
type: array
filter:
$ref: "#/definitions/io.argoproj.common.S3Filter"
insecure:
type: boolean
metadata:
additionalProperties:
type: string
type: object
region:
type: string
secretKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
required:
- endpoint
- bucket
- accessKey
- secretKey
type: object
io.argoproj.common.S3Bucket:
description: S3Bucket contains information to describe an S3 Bucket
properties:
key:
type: string
name:
type: string
required:
- name
type: object
io.argoproj.common.S3Filter:
description:
S3Filter represents filters to apply to bucket notifications for
specifying constraints on objects
properties:
prefix:
type: string
suffix:
type: string
required:
- prefix
- suffix
type: object
io.argoproj.common.SASLConfig:
description: SASLConfig refers to SASL configuration for a client
properties:
mechanism:
description:
"SASLMechanism is the name of the enabled SASL mechanism. Possible
values: OAUTHBEARER, PLAIN (defaults to PLAIN)."
type: string
passwordSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Password for SASL/PLAIN authentication
userSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
User is the authentication identity (authcid) to present for
SASL/PLAIN or SASL/SCRAM authentication
type: object
io.argoproj.common.SecureHeader:
description: SecureHeader refers to HTTP Headers with auth tokens as values
properties:
name:
type: string
valueFrom:
$ref: "#/definitions/io.argoproj.common.ValueFromSource"
description: Values can be read from either secrets or configmaps
type: object
io.argoproj.common.Status:
description: Status is a common structure which can be used for Status field.
properties:
conditions:
description:
Conditions are the latest available observations of a resource's
current state.
items:
$ref: "#/definitions/io.argoproj.common.Condition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
type: object
io.argoproj.common.TLSConfig:
description: TLSConfig refers to TLS configuration for a client.
properties:
caCertSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: CACertSecret refers to the secret that contains the CA cert
clientCertSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: ClientCertSecret refers to the secret that contains the client cert
clientKeySecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: ClientKeySecret refers to the secret that contains the client key
insecureSkipVerify:
description:
If true, skips creation of TLSConfig with certs and creates an
empty TLSConfig. (Defaults to false)
type: boolean
type: object
io.argoproj.common.ValueFromSource:
description: ValueFromSource allows you to reference keys from either a
Configmap or Secret
properties:
configMapKeyRef:
$ref: "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector"
secretKeyRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
type: object
io.argoproj.eventbus.v1alpha1.BusConfig:
description: BusConfig has the finalized configuration for EventBus
properties:
jetstream:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.JetStreamConfig"
nats:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.NATSConfig"
type: object
io.argoproj.eventbus.v1alpha1.ContainerTemplate:
description: ContainerTemplate defines customized spec for a container
properties:
imagePullPolicy:
type: string
resources:
$ref: "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
securityContext:
$ref: "#/definitions/io.k8s.api.core.v1.SecurityContext"
type: object
io.argoproj.eventbus.v1alpha1.EventBus:
description: EventBus is the definition of a eventbus resource
properties:
apiVersion:
const: argoproj.io/v1alpha1
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
const: EventBus
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.EventBusSpec"
status:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.EventBusStatus"
required:
- metadata
- spec
type: object
x-kubernetes-group-version-kind:
- group: argoproj.io
kind: EventBus
version: v1alpha1
io.argoproj.eventbus.v1alpha1.EventBusList:
description: EventBusList is the list of eventbus resources
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
items:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.EventBus"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
required:
- metadata
- items
type: object
io.argoproj.eventbus.v1alpha1.EventBusSpec:
description: EventBusSpec refers to specification of eventbus resource
properties:
jetstream:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.JetStreamBus"
nats:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.NATSBus"
description: NATS eventbus
type: object
io.argoproj.eventbus.v1alpha1.EventBusStatus:
description: EventBusStatus holds the status of the eventbus resource
properties:
conditions:
description:
Conditions are the latest available observations of a resource's
current state.
items:
$ref: "#/definitions/io.argoproj.common.Condition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
config:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.BusConfig"
description: Config holds the fininalized configuration of EventBus
type: object
io.argoproj.eventbus.v1alpha1.JetStreamBus:
description: JetStreamBus holds the JetStream EventBus information
properties:
affinity:
$ref: "#/definitions/io.k8s.api.core.v1.Affinity"
description: "The pod's scheduling constraints More info:
https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-no\
de/"
containerTemplate:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.ContainerTemplate"
description: ContainerTemplate contains customized spec for Nats JetStream container
imagePullSecrets:
description:
"ImagePullSecrets is an optional list of references to secrets in
the same namespace to use for pulling any of the images used by this
PodSpec. If specified, these secrets will be passed to individual
puller implementations for them to use. For example, in the case of
docker, only DockerConfig type secrets are honored. More info:
https://kubernetes.io/docs/concepts/containers/images#specifying-imag\
epullsecrets-on-a-pod"
items:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
maxPayload:
description:
Maximum number of bytes in a message payload, 0 means unlimited.
Defaults to 1MB
type: string
metadata:
$ref: "#/definitions/io.argoproj.common.Metadata"
description: Metadata sets the pods's metadata, i.e. annotations and labels
metricsContainerTemplate:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.ContainerTemplate"
description: MetricsContainerTemplate contains customized spec for metrics container
nodeSelector:
additionalProperties:
type: string
description:
"NodeSelector is a selector which must be true for the pod to fit
on a node. Selector which must match a node's labels for the pod to be
scheduled on that node. More info:
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/"
type: object
persistence:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.PersistenceStrategy"
priority:
description:
"The priority value. Various system components use this field to
find the priority of the Redis pod. When Priority Admission Controller
is enabled, it prevents users from setting this field. The admission
controller populates this field from PriorityClassName. The higher the
value, the higher the priority. More info:
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemp\
tion/"
format: int32
type: integer
priorityClassName:
description: "If specified, indicates the Redis pod's priority.
\"system-node-critical\" and \"system-cluster-critical\" are two
special keywords which indicate the highest priorities with the former
being the highest priority. Any other name must be defined by creating
a PriorityClass object with that name. If not specified, the pod
priority will be default or zero if there is no default. More info:
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemp\
tion/"
type: string
reloaderContainerTemplate:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.ContainerTemplate"
description:
ReloaderContainerTemplate contains customized spec for config
reloader container
replicas:
description: Redis StatefulSet size
format: int32
type: integer
securityContext:
$ref: "#/definitions/io.k8s.api.core.v1.PodSecurityContext"
description:
"SecurityContext holds pod-level security attributes and common
container settings. Optional: Defaults to empty. See type description
for default values of each field."
serviceAccountName:
description: ServiceAccountName to apply to the StatefulSet
type: string
settings:
description:
JetStream configuration, if not specified, global settings in
controller-config will be used. See
https://docs.nats.io/running-a-nats-service/configuration#jetstream.
Only configure "max_memory_store" or "max_file_store", do not set
"store_dir" as it has been hardcoded.
type: string
startArgs:
description:
Optional arguments to start nats-server. For example, "-D" to
enable debugging output, "-DV" to enable debugging and tracing. Check
https://docs.nats.io/ for all the available arguments.
items:
type: string
type: array
streamConfig:
description:
Optional configuration for the streams to be created in this
JetStream service, if specified, it will be merged with the default
configuration in controller-config. It accepts a YAML format
configuration, available fields include, "maxBytes", "maxMsgs",
"maxAge" (e.g. 72h), "replicas" (1, 3, 5), "duplicates" (e.g. 5m).
type: string
tolerations:
description: If specified, the pod's tolerations.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Toleration"
type: array
version:
description: JetStream version, such as "2.7.3"
type: string
type: object
io.argoproj.eventbus.v1alpha1.JetStreamConfig:
properties:
accessSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Secret for auth
streamConfig:
type: string
url:
description: JetStream (Nats) URL
type: string
type: object
io.argoproj.eventbus.v1alpha1.NATSBus:
description: NATSBus holds the NATS eventbus information
properties:
exotic:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.NATSConfig"
description: Exotic holds an exotic NATS config
native:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.NativeStrategy"
description: Native means to bring up a native NATS service
type: object
io.argoproj.eventbus.v1alpha1.NATSConfig:
description: NATSConfig holds the config of NATS
properties:
accessSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Secret for auth
auth:
description: Auth strategy, default to AuthStrategyNone
type: string
clusterID:
description: Cluster ID for nats streaming
type: string
url:
description: NATS streaming url
type: string
type: object
io.argoproj.eventbus.v1alpha1.NativeStrategy:
description: NativeStrategy indicates to install a native NATS service
properties:
affinity:
$ref: "#/definitions/io.k8s.api.core.v1.Affinity"
description: "The pod's scheduling constraints More info:
https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-no\
de/"
auth:
type: string
containerTemplate:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.ContainerTemplate"
description: ContainerTemplate contains customized spec for NATS container
imagePullSecrets:
description:
"ImagePullSecrets is an optional list of references to secrets in
the same namespace to use for pulling any of the images used by this
PodSpec. If specified, these secrets will be passed to individual
puller implementations for them to use. For example, in the case of
docker, only DockerConfig type secrets are honored. More info:
https://kubernetes.io/docs/concepts/containers/images#specifying-imag\
epullsecrets-on-a-pod"
items:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
maxAge:
description: Max Age of existing messages, i.e. "72h", “4h35m”
type: string
maxBytes:
description: Total size of messages per channel, 0 means unlimited. Defaults to 1GB
type: string
maxMsgs:
description:
Maximum number of messages per channel, 0 means unlimited. Defaults
to 1000000
format: int64
type: integer
maxPayload:
description:
Maximum number of bytes in a message payload, 0 means unlimited.
Defaults to 1MB
type: string
maxSubs:
description:
Maximum number of subscriptions per channel, 0 means unlimited.
Defaults to 1000
format: int64
type: integer
metadata:
$ref: "#/definitions/io.argoproj.common.Metadata"
description: Metadata sets the pods's metadata, i.e. annotations and labels
metricsContainerTemplate:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.ContainerTemplate"
description: MetricsContainerTemplate contains customized spec for metrics container
nodeSelector:
additionalProperties:
type: string
description:
"NodeSelector is a selector which must be true for the pod to fit
on a node. Selector which must match a node's labels for the pod to be
scheduled on that node. More info:
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/"
type: object
persistence:
$ref: "#/definitions/io.argoproj.eventbus.v1alpha1.PersistenceStrategy"
priority:
description:
"The priority value. Various system components use this field to
find the priority of the EventSource pod. When Priority Admission
Controller is enabled, it prevents users from setting this field. The
admission controller populates this field from PriorityClassName. The
higher the value, the higher the priority. More info:
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemp\
tion/"
format: int32
type: integer
priorityClassName:
description: "If specified, indicates the EventSource pod's priority.
\"system-node-critical\" and \"system-cluster-critical\" are two
special keywords which indicate the highest priorities with the former
being the highest priority. Any other name must be defined by creating
a PriorityClass object with that name. If not specified, the pod
priority will be default or zero if there is no default. More info:
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemp\
tion/"
type: string
raftCommitTimeout:
description:
Specifies the time without an Apply() operation before sending an
heartbeat to ensure timely commit, i.e. "72h", “4h35m”. Defaults to
100ms
type: string
raftElectionTimeout:
description:
Specifies the time in candidate state without a leader before
attempting an election, i.e. "72h", “4h35m”. Defaults to 2s
type: string
raftHeartbeatTimeout:
description:
Specifies the time in follower state without a leader before
attempting an election, i.e. "72h", “4h35m”. Defaults to 2s
type: string
raftLeaseTimeout:
description:
Specifies how long a leader waits without being able to contact a
quorum of nodes before stepping down as leader, i.e. "72h", “4h35m”.
Defaults to 1s
type: string
replicas:
description: Size is the NATS StatefulSet size
format: int32
type: integer
securityContext:
$ref: "#/definitions/io.k8s.api.core.v1.PodSecurityContext"
description:
"SecurityContext holds pod-level security attributes and common
container settings. Optional: Defaults to empty. See type description
for default values of each field."
serviceAccountName:
description: ServiceAccountName to apply to NATS StatefulSet
type: string
tolerations:
description: If specified, the pod's tolerations.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Toleration"
type: array
type: object
io.argoproj.eventbus.v1alpha1.PersistenceStrategy:
description: PersistenceStrategy defines the strategy of persistence
properties:
accessMode:
description: Available access modes such as ReadWriteOnce, ReadWriteMany
https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes
type: string
storageClassName:
description: "Name of the StorageClass required by the claim. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-\
1"
type: string
volumeSize:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: Volume size, e.g. 10Gi
type: object
io.argoproj.eventsource.v1alpha1.AMQPConsumeConfig:
description: AMQPConsumeConfig holds the configuration to immediately starts
delivering queued messages
properties:
autoAck:
description:
AutoAck when true, the server will acknowledge deliveries to this
consumer prior to writing the delivery to the network
type: boolean
consumerTag:
description: ConsumerTag is the identity of the consumer included in every delivery
type: string
exclusive:
description:
Exclusive when true, the server will ensure that this is the sole
consumer from this queue
type: boolean
noLocal:
description: NoLocal flag is not supported by RabbitMQ
type: boolean
noWait:
description:
NowWait when true, do not wait for the server to confirm the
request and immediately begin deliveries
type: boolean
type: object
io.argoproj.eventsource.v1alpha1.AMQPEventSource:
description: AMQPEventSource refers to an event-source for AMQP stream events
properties:
auth:
$ref: "#/definitions/io.argoproj.common.BasicAuth"
description: Auth hosts secret selectors for username and password
connectionBackoff:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: Backoff holds parameters applied to connection.
consume:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.AMQPConsumeConfig"
description:
Consume holds the configuration to immediately starts delivering
queued messages For more information, visit
https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.Consume
exchangeDeclare:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.AMQPExchangeDeclareConfig"
description:
ExchangeDeclare holds the configuration for the exchange on the
server For more information, visit
https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.ExchangeDeclare
exchangeName:
description:
ExchangeName is the exchange name For more information, visit
https://www.rabbitmq.com/tutorials/amqp-concepts.html
type: string
exchangeType:
description: ExchangeType is rabbitmq exchange type
type: string
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
queueBind:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.AMQPQueueBindConfig"
description:
QueueBind holds the configuration that binds an exchange to a queue
so that publishings to the exchange will be routed to the queue when
the publishing routing key matches the binding routing key For more
information, visit
https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.QueueBind
queueDeclare:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.AMQPQueueDeclareConfig"
description:
QueueDeclare holds the configuration of a queue to hold messages
and deliver to consumers. Declaring creates a queue if it doesn't
already exist, or ensures that an existing queue matches the same
parameters For more information, visit
https://pkg.go.dev/github.com/rabbitmq/amqp091-go#Channel.QueueDeclare
routingKey:
description: Routing key for bindings
type: string
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the amqp client.
url:
description: URL for rabbitmq service
type: string
urlSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: URLSecret is secret reference for rabbitmq service URL
required:
- exchangeName
- exchangeType
- routingKey
type: object
io.argoproj.eventsource.v1alpha1.AMQPExchangeDeclareConfig:
description:
AMQPExchangeDeclareConfig holds the configuration for the exchange
on the server
properties:
autoDelete:
description: AutoDelete removes the exchange when no bindings are active
type: boolean
durable:
description: Durable keeps the exchange also after the server restarts
type: boolean
internal:
description: Internal when true does not accept publishings
type: boolean
noWait:
description: NowWait when true does not wait for a confirmation from the server
type: boolean
type: object
io.argoproj.eventsource.v1alpha1.AMQPQueueBindConfig:
description:
AMQPQueueBindConfig holds the configuration that binds an exchange
to a queue so that publishings to the exchange will be routed to the queue
when the publishing routing key matches the binding routing key
properties:
noWait:
description:
NowWait false and the queue could not be bound, the channel will be
closed with an error
type: boolean
type: object
io.argoproj.eventsource.v1alpha1.AMQPQueueDeclareConfig:
description:
AMQPQueueDeclareConfig holds the configuration of a queue to hold
messages and deliver to consumers. Declaring creates a queue if it doesn't
already exist, or ensures that an existing queue matches the same
parameters
properties:
arguments:
description: Arguments of a queue (also known as "x-arguments") used for
optional features and plugins
type: string
autoDelete:
description: AutoDelete removes the queue when no consumers are active
type: boolean
durable:
description: Durable keeps the queue also after the server restarts
type: boolean
exclusive:
description:
Exclusive sets the queues to be accessible only by the connection
that declares them and will be deleted wgen the connection closes
type: boolean
name:
description:
Name of the queue. If empty the server auto-generates a unique name
for this queue
type: string
noWait:
description: NowWait when true, the queue assumes to be declared on the server
type: boolean
type: object
io.argoproj.eventsource.v1alpha1.AzureEventsHubEventSource:
description: AzureEventsHubEventSource describes the event source for azure
events hub More info at https://docs.microsoft.com/en-us/azure/event-hubs/
properties:
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
fqdn:
description: FQDN of the EventHubs namespace you created More info at
https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string
type: string
hubName:
description: Event Hub path/name
type: string
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
sharedAccessKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: SharedAccessKey is the generated value of the key
sharedAccessKeyName:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
SharedAccessKeyName is the name you chose for your application's
SAS keys
required:
- fqdn
- hubName
type: object
io.argoproj.eventsource.v1alpha1.AzureServiceBusEventSource:
description: AzureServiceBusEventSource describes the event source for azure
service bus More info at
https://docs.microsoft.com/en-us/azure/service-bus-messaging/
properties:
connectionString:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: ConnectionString is the connection string for the Azure Service Bus
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
queueName:
description: QueueName is the name of the Azure Service Bus Queue
type: string
subscriptionName:
description: SubscriptionName is the name of the Azure Service Bus Topic
Subscription
type: string
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the service bus client
topicName:
description: TopicName is the name of the Azure Service Bus Topic
type: string
required:
- queueName
- topicName
- subscriptionName
type: object
io.argoproj.eventsource.v1alpha1.BitbucketAuth:
description:
BitbucketAuth holds the different auth strategies for connecting to
Bitbucket
properties:
basic:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.BitbucketBasicAuth"
description: Basic is BasicAuth auth strategy.
oauthToken:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: OAuthToken refers to the K8s secret that holds the OAuth Bearer token.
type: object
io.argoproj.eventsource.v1alpha1.BitbucketBasicAuth:
description:
BasicAuth holds the information required to authenticate user via
basic auth mechanism
properties:
password:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Password refers to the K8s secret that holds the password.
username:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Username refers to the K8s secret that holds the username.
required:
- username
- password
type: object
io.argoproj.eventsource.v1alpha1.BitbucketEventSource:
description: BitbucketEventSource describes the event source for Bitbucket
properties:
auth:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.BitbucketAuth"
description: Auth information required to connect to Bitbucket.
deleteHookOnFinish:
description: DeleteHookOnFinish determines whether to delete the defined
Bitbucket hook once the event source is stopped.
type: boolean
events:
description: Events this webhook is subscribed to.
items:
type: string
type: array
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will be passed along
the event payload.
type: object
owner:
description:
"DeprecatedOwner is the owner of the repository. Deprecated: use
Repositories instead. Will be unsupported in v1.9"
type: string
projectKey:
description:
"DeprecatedProjectKey is the key of the project to which the
repository relates Deprecated: use Repositories instead. Will be
unsupported in v1.9"
type: string
repositories:
description:
Repositories holds a list of repositories for which integration
needs to set up
items:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.BitbucketRepository"
type: array
repositorySlug:
description:
"DeprecatedRepositorySlug is a URL-friendly version of a repository
name, automatically generated by Bitbucket for use in the URL
Deprecated: use Repositories instead. Will be unsupported in v1.9"
type: string
webhook:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WebhookContext"
description: Webhook refers to the configuration required to run an http server
required:
- webhook
- auth
- events
type: object
io.argoproj.eventsource.v1alpha1.BitbucketRepository:
properties:
owner:
description: Owner is the owner of the repository
type: string
repositorySlug:
description:
RepositorySlug is a URL-friendly version of a repository name,
automatically generated by Bitbucket for use in the URL
type: string
required:
- owner
- repositorySlug
type: object
io.argoproj.eventsource.v1alpha1.BitbucketServerEventSource:
description: BitbucketServerEventSource refers to event-source related to
Bitbucket Server events
properties:
accessToken:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
AccessToken is reference to K8s secret which holds the bitbucket
api access information
bitbucketserverBaseURL:
description:
BitbucketServerBaseURL is the base URL for API requests to a custom
endpoint
type: string
deleteHookOnFinish:
description:
DeleteHookOnFinish determines whether to delete the Bitbucket
Server hook for the project once the event source is stopped.
type: boolean
events:
description: Events are bitbucket event to listen to. Refer
https://confluence.atlassian.com/bitbucketserver/event-payload-938025882.html
items:
type: string
type: array
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
projectKey:
description:
"DeprecatedProjectKey is the key of project for which integration
needs to set up Deprecated: use Repositories instead. Will be
unsupported in v1.8"
type: string
repositories:
description:
Repositories holds a list of repositories for which integration
needs to set up
items:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.BitbucketServerRepository"
type: array
repositorySlug:
description:
"DeprecatedRepositorySlug is the slug of the repository for which
integration needs to set up Deprecated: use Repositories instead. Will
be unsupported in v1.8"
type: string
webhook:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WebhookContext"
description: Webhook holds configuration to run a http server
webhookSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
WebhookSecret is reference to K8s secret which holds the bitbucket
webhook secret (for HMAC validation)
required:
- events
- bitbucketserverBaseURL
type: object
io.argoproj.eventsource.v1alpha1.BitbucketServerRepository:
properties:
projectKey:
description: ProjectKey is the key of project for which integration needs to set up
type: string
repositorySlug:
description:
RepositorySlug is the slug of the repository for which integration
needs to set up
type: string
required:
- projectKey
- repositorySlug
type: object
io.argoproj.eventsource.v1alpha1.CalendarEventSource:
description:
CalendarEventSource describes a time based dependency. One of the
fields (schedule, interval, or recurrence) must be passed. Schedule takes
precedence over interval; interval takes precedence over recurrence
properties:
exclusionDates:
description: ExclusionDates defines the list of DATE-TIME exceptions for
recurring events.
items:
type: string
type: array
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
interval:
description:
Interval is a string that describes an interval duration, e.g. 1s,
30m, 2h...
type: string
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
persistence:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventPersistence"
description: Persistence hold the configuration for event persistence
schedule:
description: "Schedule is a cron-like expression. For reference, see:
https://en.wikipedia.org/wiki/Cron"
type: string
timezone:
description: Timezone in which to run the schedule
type: string
type: object
io.argoproj.eventsource.v1alpha1.CatchupConfiguration:
properties:
enabled:
description:
Enabled enables to triggered the missed schedule when eventsource
restarts
type: boolean
maxDuration:
description: MaxDuration holds max catchup duration
type: string
type: object
io.argoproj.eventsource.v1alpha1.ConfigMapPersistence:
properties:
createIfNotExist:
description: CreateIfNotExist will create configmap if it doesn't exists
type: boolean
name:
description: Name of the configmap
type: string
type: object
io.argoproj.eventsource.v1alpha1.EmitterEventSource:
description:
EmitterEventSource describes the event source for emitter More info
at https://emitter.io/develop/getting-started/
properties:
broker:
description: Broker URI to connect to.
type: string
channelKey:
description: ChannelKey refers to the channel key
type: string
channelName:
description: ChannelName refers to the channel name
type: string
connectionBackoff:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: Backoff holds parameters applied to connection.
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
password:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Password to use to connect to broker
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the emitter client.
username:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Username to use to connect to broker
required:
- broker
- channelKey
- channelName
type: object
io.argoproj.eventsource.v1alpha1.EventPersistence:
properties:
catchup:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.CatchupConfiguration"
description:
Catchup enables to triggered the missed schedule when eventsource
restarts
configMap:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.ConfigMapPersistence"
description: ConfigMap holds configmap details for persistence
type: object
io.argoproj.eventsource.v1alpha1.EventSource:
description: EventSource is the definition of a eventsource resource
properties:
apiVersion:
const: argoproj.io/v1alpha1
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
const: EventSource
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceSpec"
status:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceStatus"
required:
- metadata
- spec
type: object
x-kubernetes-group-version-kind:
- group: argoproj.io
kind: EventSource
version: v1alpha1
io.argoproj.eventsource.v1alpha1.EventSourceFilter:
properties:
expression:
type: string
type: object
io.argoproj.eventsource.v1alpha1.EventSourceList:
description: EventSourceList is the list of eventsource resources
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
items:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSource"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
required:
- metadata
- items
type: object
io.argoproj.eventsource.v1alpha1.EventSourceSpec:
description: EventSourceSpec refers to specification of event-source resource
properties:
amqp:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.AMQPEventSource"
description: AMQP event sources
type: object
azureEventsHub:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.AzureEventsHubEventSource"
description: AzureEventsHub event sources
type: object
azureServiceBus:
additionalProperties:
$ref:
"#/definitions/io.argoproj.eventsource.v1alpha1.AzureServiceBusEventSourc\
e"
description: Azure Service Bus event source
type: object
bitbucket:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.BitbucketEventSource"
description: Bitbucket event sources
type: object
bitbucketserver:
additionalProperties:
$ref:
"#/definitions/io.argoproj.eventsource.v1alpha1.BitbucketServerEventSourc\
e"
description: Bitbucket Server event sources
type: object
calendar:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.CalendarEventSource"
description: Calendar event sources
type: object
emitter:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EmitterEventSource"
description: Emitter event source
type: object
eventBusName:
description:
EventBusName references to a EventBus name. By default the value is
"default"
type: string
file:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.FileEventSource"
description: File event sources
type: object
generic:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.GenericEventSource"
description: Generic event source
type: object
github:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.GithubEventSource"
description: Github event sources
type: object
gitlab:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.GitlabEventSource"
description: Gitlab event sources
type: object
hdfs:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.HDFSEventSource"
description: HDFS event sources
type: object
kafka:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.KafkaEventSource"
description: Kafka event sources
type: object
minio:
additionalProperties:
$ref: "#/definitions/io.argoproj.common.S3Artifact"
description: Minio event sources
type: object
mqtt:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.MQTTEventSource"
description: MQTT event sources
type: object
nats:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.NATSEventsSource"
description: NATS event sources
type: object
nsq:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.NSQEventSource"
description: NSQ event source
type: object
pubSub:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.PubSubEventSource"
description: PubSub event sources
type: object
pulsar:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.PulsarEventSource"
description: Pulsar event source
type: object
redis:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.RedisEventSource"
description: Redis event source
type: object
redisStream:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.RedisStreamEventSource"
description: Redis stream source
type: object
replicas:
description: Replicas is the event source deployment replicas
format: int32
type: integer
resource:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.ResourceEventSource"
description: Resource event sources
type: object
service:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.Service"
description: Service is the specifications of the service to expose the event source
slack:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.SlackEventSource"
description: Slack event sources
type: object
sns:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.SNSEventSource"
description: SNS event sources
type: object
sqs:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.SQSEventSource"
description: SQS event sources
type: object
storageGrid:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.StorageGridEventSource"
description: StorageGrid event sources
type: object
stripe:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.StripeEventSource"
description: Stripe event sources
type: object
template:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.Template"
description: Template is the pod specification for the event source
webhook:
additionalProperties:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WebhookEventSource"
description: Webhook event sources
type: object
type: object
io.argoproj.eventsource.v1alpha1.EventSourceStatus:
description: EventSourceStatus holds the status of the event-source resource
properties:
conditions:
description:
Conditions are the latest available observations of a resource's
current state.
items:
$ref: "#/definitions/io.argoproj.common.Condition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
type: object
io.argoproj.eventsource.v1alpha1.FileEventSource:
description: FileEventSource describes an event-source for file related events.
properties:
eventType:
description: Type of file operations to watch Refer
https://github.com/fsnotify/fsnotify/blob/master/fsnotify.go for more
information
type: string
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
polling:
description: Use polling instead of inotify
type: boolean
watchPathConfig:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WatchPathConfig"
description: WatchPathConfig contains configuration about the file path to watch
required:
- eventType
- watchPathConfig
type: object
io.argoproj.eventsource.v1alpha1.GenericEventSource:
description:
GenericEventSource refers to a generic event source. It can be used
to implement a custom event source.
properties:
authSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
AuthSecret holds a secret selector that contains a bearer token for
authentication
config:
description: Config is the event source configuration
type: string
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
insecure:
description: Insecure determines the type of connection.
type: boolean
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
url:
description: URL of the gRPC server that implements the event source.
type: string
required:
- url
- config
type: object
io.argoproj.eventsource.v1alpha1.GithubAppCreds:
properties:
appID:
description: AppID refers to the GitHub App ID for the application you created
format: int64
type: integer
installationID:
description:
InstallationID refers to the Installation ID of the GitHub app you
created and installed
format: int64
type: integer
privateKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: PrivateKey refers to a K8s secret containing the GitHub app private key
required:
- privateKey
- appID
- installationID
type: object
io.argoproj.eventsource.v1alpha1.GithubEventSource:
description: GithubEventSource refers to event-source for github related events
properties:
active:
description:
Active refers to status of the webhook for event deliveries.
https://developer.github.com/webhooks/creating/#active
type: boolean
apiToken:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: APIToken refers to a K8s secret containing github api token
contentType:
description: ContentType of the event delivery
type: string
deleteHookOnFinish:
description:
DeleteHookOnFinish determines whether to delete the GitHub hook for
the repository once the event source is stopped.
type: boolean
events:
description: Events refer to Github events to which the event source will subscribe
items:
type: string
type: array
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
githubApp:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.GithubAppCreds"
description: GitHubApp holds the GitHub app credentials
githubBaseURL:
description: GitHub base URL (for GitHub Enterprise)
type: string
githubUploadURL:
description: GitHub upload URL (for GitHub Enterprise)
type: string
id:
description:
"Id is the webhook's id Deprecated: This is not used at all, will
be removed in v1.6"
format: int64
type: integer
insecure:
description: Insecure tls verification
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
organizations:
description: Organizations holds the names of organizations (used for
organization level webhooks). Not required if Repositories is set.
items:
type: string
type: array
owner:
description: "DeprecatedOwner refers to GitHub owner name i.e. argoproj
Deprecated: use Repositories instead. Will be unsupported in v 1.6"
type: string
repositories:
description:
Repositories holds the information of repositories, which uses repo
owner as the key, and list of repo names as the value. Not required if
Organizations is set.
items:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.OwnedRepositories"
type: array
repository:
description:
"DeprecatedRepository refers to GitHub repo name i.e. argo-events
Deprecated: use Repositories instead. Will be unsupported in v 1.6"
type: string
webhook:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WebhookContext"
description: Webhook refers to the configuration required to run a http server
webhookSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
WebhookSecret refers to K8s secret containing GitHub webhook secret
https://developer.github.com/webhooks/securing/
required:
- events
type: object
io.argoproj.eventsource.v1alpha1.GitlabEventSource:
description: GitlabEventSource refers to event-source related to Gitlab events
properties:
accessToken:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
AccessToken references to k8 secret which holds the gitlab api
access information
deleteHookOnFinish:
description:
DeleteHookOnFinish determines whether to delete the GitLab hook for
the project once the event source is stopped.
type: boolean
enableSSLVerification:
description: EnableSSLVerification to enable ssl verification
type: boolean
events:
description: Events are gitlab event to listen to. Refer
https://github.com/xanzy/go-gitlab/blob/bf34eca5d13a9f4c3f501d8a97b8ac226d55e4d9/projects.go#L794.
items:
type: string
type: array
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
gitlabBaseURL:
description: GitlabBaseURL is the base URL for API requests to a custom endpoint
type: string
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
projectID:
description:
"DeprecatedProjectID is the id of project for which integration
needs to setup Deprecated: use Projects instead. Will be unsupported
in v 1.7"
type: string
projects:
description: List of project IDs or project namespace paths like "whynowy/test"
items:
type: string
type: array
secretToken:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
SecretToken references to k8 secret which holds the Secret Token
used by webhook config
webhook:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WebhookContext"
description: Webhook holds configuration to run a http server
required:
- events
- gitlabBaseURL
type: object
io.argoproj.eventsource.v1alpha1.HDFSEventSource:
description: HDFSEventSource refers to event-source for HDFS related events
properties:
addresses:
items:
type: string
type: array
checkInterval:
description:
CheckInterval is a string that describes an interval duration to
check the directory state, e.g. 1s, 30m, 2h... (defaults to 1m)
type: string
directory:
description: Directory to watch for events
type: string
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
hdfsUser:
description:
HDFSUser is the user to access HDFS file system. It is ignored if
either ccache or keytab is used.
type: string
krbCCacheSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
KrbCCacheSecret is the secret selector for Kerberos ccache Either
ccache or keytab can be set to use Kerberos.
krbConfigConfigMap:
$ref: "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector"
description:
KrbConfig is the configmap selector for Kerberos config as string
It must be set if either ccache or keytab is used.
krbKeytabSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
KrbKeytabSecret is the secret selector for Kerberos keytab Either
ccache or keytab can be set to use Kerberos.
krbRealm:
description:
KrbRealm is the Kerberos realm used with Kerberos keytab It must be
set if keytab is used.
type: string
krbServicePrincipalName:
description:
KrbServicePrincipalName is the principal name of Kerberos service
It must be set if either ccache or keytab is used.
type: string
krbUsername:
description:
KrbUsername is the Kerberos username used with Kerberos keytab It
must be set if keytab is used.
type: string
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
path:
description: Path is relative path of object to watch with respect to the directory
type: string
pathRegexp:
description:
PathRegexp is regexp of relative path of object to watch with
respect to the directory
type: string
type:
description: Type of file operations to watch
type: string
required:
- directory
- type
- addresses
type: object
io.argoproj.eventsource.v1alpha1.KafkaConsumerGroup:
properties:
groupName:
description: The name for the consumer group to use
type: string
oldest:
description:
When starting up a new group do we want to start from the oldest
event (true) or the newest event (false), defaults to false
type: boolean
rebalanceStrategy:
description:
"Rebalance strategy can be one of: sticky, roundrobin, range. Range
is the default."
type: string
required:
- groupName
type: object
io.argoproj.eventsource.v1alpha1.KafkaEventSource:
description: KafkaEventSource refers to event-source for Kafka related events
properties:
config:
description: >-
Yaml format Sarama config for Kafka connection. It follows the struct
of sarama.Config. See
https://github.com/Shopify/sarama/blob/main/config.go e.g.
consumer:
fetch:
min: 1
net:
MaxOpenRequests: 5
type: string
connectionBackoff:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: Backoff holds parameters applied to connection.
consumerGroup:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.KafkaConsumerGroup"
description: Consumer group for kafka client
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
limitEventsPerSecond:
description: Sets a limit on how many events get read from kafka per second.
format: int64
type: integer
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
partition:
description: Partition name
type: string
sasl:
$ref: "#/definitions/io.argoproj.common.SASLConfig"
description: SASL configuration for the kafka client
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the kafka client.
topic:
description: Topic name
type: string
url:
description: URL to kafka cluster, multiple URLs separated by comma
type: string
version:
description:
Specify what kafka version is being connected to enables certain
features in sarama, defaults to 1.0.0
type: string
required:
- url
- topic
type: object
io.argoproj.eventsource.v1alpha1.MQTTEventSource:
description: MQTTEventSource refers to event-source for MQTT related events
properties:
clientId:
description: ClientID is the id of the client
type: string
connectionBackoff:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: ConnectionBackoff holds backoff applied to connection.
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the mqtt client.
topic:
description: Topic name
type: string
url:
description: URL to connect to broker
type: string
required:
- url
- topic
- clientId
type: object
io.argoproj.eventsource.v1alpha1.NATSAuth:
description: NATSAuth refers to the auth info for NATS EventSource
properties:
basic:
$ref: "#/definitions/io.argoproj.common.BasicAuth"
description: Baisc auth with username and password
credential:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: credential used to connect
nkey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: NKey used to connect
token:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Token used to connect
type: object
io.argoproj.eventsource.v1alpha1.NATSEventsSource:
description: NATSEventsSource refers to event-source for NATS related events
properties:
auth:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.NATSAuth"
description: Auth information
connectionBackoff:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: ConnectionBackoff holds backoff applied to connection.
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
subject:
description: Subject holds the name of the subject onto which messages are published
type: string
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the nats client.
url:
description: URL to connect to NATS cluster
type: string
required:
- url
- subject
type: object
io.argoproj.eventsource.v1alpha1.NSQEventSource:
description:
NSQEventSource describes the event source for NSQ PubSub More info
at https://godoc.org/github.com/nsqio/go-nsq
properties:
channel:
description: Channel used for subscription
type: string
connectionBackoff:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: Backoff holds parameters applied to connection.
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
hostAddress:
description: HostAddress is the address of the host for NSQ lookup
type: string
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the nsq client.
topic:
description: Topic to subscribe to.
type: string
required:
- hostAddress
- topic
- channel
type: object
io.argoproj.eventsource.v1alpha1.OwnedRepositories:
properties:
names:
description: Repository names
items:
type: string
type: array
owner:
description: Organization or user name
type: string
type: object
io.argoproj.eventsource.v1alpha1.PubSubEventSource:
description: PubSubEventSource refers to event-source for GCP PubSub related events.
properties:
credentialSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
CredentialSecret references to the secret that contains JSON
credentials to access GCP. If it is missing, it implicitly uses
Workload Identity to access.
https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
deleteSubscriptionOnFinish:
description:
DeleteSubscriptionOnFinish determines whether to delete the GCP
PubSub subscription once the event source is stopped.
type: boolean
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
projectID:
description:
ProjectID is GCP project ID for the subscription. Required if you
run Argo Events outside of GKE/GCE. (otherwise, the default value is
its project)
type: string
subscriptionID:
description:
SubscriptionID is ID of subscription. Required if you use existing
subscription. The default value will be auto generated hash based on
this eventsource setting, so the subscription might be recreated every
time you update the setting, which has a possibility of event loss.
type: string
topic:
description:
Topic to which the subscription should belongs. Required if you
want the eventsource to create a new subscription. If you specify this
field along with an existing subscription, it will be verified whether
it actually belongs to the specified topic.
type: string
topicProjectID:
description:
TopicProjectID is GCP project ID for the topic. By default, it is
same as ProjectID.
type: string
type: object
io.argoproj.eventsource.v1alpha1.PulsarEventSource:
description: PulsarEventSource describes the event source for Apache Pulsar
properties:
authTokenSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Authentication token for the pulsar client.
connectionBackoff:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: Backoff holds parameters applied to connection.
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the pulsar client.
tlsAllowInsecureConnection:
description: Whether the Pulsar client accept untrusted TLS certificate from broker.
type: boolean
tlsTrustCertsSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Trusted TLS certificate secret.
tlsValidateHostname:
description:
Whether the Pulsar client verify the validity of the host name from
broker.
type: boolean
topics:
description: Name of the topics to subscribe to.
items:
type: string
type: array
type:
description: Type of the subscription. Only "exclusive" and "shared" is
supported. Defaults to exclusive.
type: string
url:
description: Configure the service URL for the Pulsar service.
type: string
required:
- topics
- url
type: object
io.argoproj.eventsource.v1alpha1.RedisEventSource:
description:
RedisEventSource describes an event source for the Redis PubSub.
More info at https://godoc.org/github.com/go-redis/redis#example-PubSub
properties:
channels:
items:
type: string
type: array
db:
description: DB to use. If not specified, default DB 0 will be used.
format: int32
type: integer
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
hostAddress:
description: HostAddress refers to the address of the Redis host/server
type: string
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
namespace:
description:
Namespace to use to retrieve the password from. It should only be
specified if password is declared
type: string
password:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Password required for authentication if any.
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the redis client.
username:
description: Username required for ACL style authentication if any.
type: string
required:
- hostAddress
- channels
type: object
io.argoproj.eventsource.v1alpha1.RedisStreamEventSource:
description:
RedisStreamEventSource describes an event source for Redis streams
(https://redis.io/topics/streams-intro)
properties:
consumerGroup:
description:
ConsumerGroup refers to the Redis stream consumer group that will
be created on all redis streams. Messages are read through this group.
Defaults to 'argo-events-cg'
type: string
db:
description: DB to use. If not specified, default DB 0 will be used.
format: int32
type: integer
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
hostAddress:
description:
HostAddress refers to the address of the Redis host/server (master
instance)
type: string
maxMsgCountPerRead:
description:
"MaxMsgCountPerRead holds the maximum number of messages per stream
that will be read in each XREADGROUP of all streams Example: if there
are 2 streams and MaxMsgCountPerRead=10, then each XREADGROUP may read
upto a total of 20 messages. Same as COUNT option in
XREADGROUP(https://redis.io/topics/streams-intro). Defaults to 10"
format: int32
type: integer
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
password:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Password required for authentication if any.
streams:
description:
Streams to look for entries. XREADGROUP is used on all streams
using a single consumer group.
items:
type: string
type: array
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the redis client.
username:
description: Username required for ACL style authentication if any.
type: string
required:
- hostAddress
- streams
type: object
io.argoproj.eventsource.v1alpha1.ResourceEventSource:
description: ResourceEventSource refers to a event-source for K8s resource
related events.
properties:
eventTypes:
description:
EventTypes is the list of event type to watch. Possible values are
- ADD, UPDATE and DELETE.
items:
type: string
type: array
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.ResourceFilter"
description:
Filter is applied on the metadata of the resource If you apply
filter, then the internal event informer will only monitor objects
that pass the filter.
group:
type: string
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
namespace:
description: Namespace where resource is deployed
type: string
resource:
type: string
version:
type: string
required:
- namespace
- group
- version
- resource
- eventTypes
type: object
io.argoproj.eventsource.v1alpha1.ResourceFilter:
description: ResourceFilter contains K8s ObjectMeta information to further
filter resource event objects
properties:
afterStart:
description:
If the resource is created after the start time then the event is
treated as valid.
type: boolean
createdBy:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
If resource is created before the specified time then the event is
treated as valid.
fields:
description:
Fields provide field filters similar to K8s field selector (see
https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/).
Unlike K8s field selector, it supports arbitrary fileds like
"spec.serviceAccountName", and the value could be a string or a regex.
Same as K8s field selector, operator "=", "==" and "!=" are supported.
items:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.Selector"
type: array
labels:
description:
Labels provide listing options to K8s API to watch resource/s.
Refer
https://kubernetes.io/docs/concepts/overview/working-with-objects/label-selectors/
for more info.
items:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.Selector"
type: array
prefix:
description: Prefix filter is applied on the resource name.
type: string
type: object
io.argoproj.eventsource.v1alpha1.SNSEventSource:
description: SNSEventSource refers to event-source for AWS SNS related events
properties:
accessKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: AccessKey refers K8s secret containing aws access key
endpoint:
description:
Endpoint configures connection to a specific SNS endpoint instead
of Amazons servers
type: string
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
region:
description: Region is AWS region
type: string
roleARN:
description: RoleARN is the Amazon Resource Name (ARN) of the role to assume.
type: string
secretKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: SecretKey refers K8s secret containing aws secret key
topicArn:
description: TopicArn
type: string
validateSignature:
description:
ValidateSignature is boolean that can be set to true for SNS
signature verification
type: boolean
webhook:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WebhookContext"
description: Webhook configuration for http server
required:
- topicArn
- region
type: object
io.argoproj.eventsource.v1alpha1.SQSEventSource:
description: SQSEventSource refers to event-source for AWS SQS related events
properties:
accessKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: AccessKey refers K8s secret containing aws access key
dlq:
description:
DLQ specifies if a dead-letter queue is configured for messages
that can't be processed successfully. If set to true, messages with
invalid payload won't be acknowledged to allow to forward them farther
to the dead-letter queue. The default value is false.
type: boolean
endpoint:
description:
Endpoint configures connection to a specific SQS endpoint instead
of Amazons servers
type: string
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
jsonBody:
description:
JSONBody specifies that all event body payload coming from this
source will be JSON
type: boolean
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
queue:
description: Queue is AWS SQS queue to listen to for messages
type: string
queueAccountId:
description:
QueueAccountID is the ID of the account that created the queue to
monitor
type: string
region:
description: Region is AWS region
type: string
roleARN:
description: RoleARN is the Amazon Resource Name (ARN) of the role to assume.
type: string
secretKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: SecretKey refers K8s secret containing aws secret key
sessionToken:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: SessionToken refers to K8s secret containing AWS temporary
credentials(STS) session token
waitTimeSeconds:
description:
WaitTimeSeconds is The duration (in seconds) for which the call
waits for a message to arrive in the queue before returning.
format: int64
type: integer
required:
- region
- queue
- waitTimeSeconds
type: object
io.argoproj.eventsource.v1alpha1.Selector:
description: Selector represents conditional operation to select K8s objects.
properties:
key:
description: Key name
type: string
operation:
description:
Supported operations like ==, !=, <=, >= etc. Defaults to ==. Refer
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
for more info.
type: string
value:
description: Value
type: string
required:
- key
- value
type: object
io.argoproj.eventsource.v1alpha1.Service:
description: Service holds the service information eventsource exposes
properties:
clusterIP:
description:
'clusterIP is the IP address of the service and is usually assigned
randomly by the master. If an address is specified manually and is not
in use by others, it will be allocated to the service; otherwise,
creation of the service will fail. This field can not be changed
through updates. Valid values are "None", empty string (""), or a
valid IP address. "None" can be specified for headless services when
proxying is not required. More info:
https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies'
type: string
ports:
description: The list of ports that are exposed by this ClusterIP service.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ServicePort"
type: array
x-kubernetes-list-map-keys:
- port
- protocol
x-kubernetes-list-type: map
x-kubernetes-patch-merge-key: port
x-kubernetes-patch-strategy: merge
type: object
io.argoproj.eventsource.v1alpha1.SlackEventSource:
description: SlackEventSource refers to event-source for Slack related events
properties:
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
signingSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Slack App signing secret
token:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Token for URL verification handshake
webhook:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WebhookContext"
description: Webhook holds configuration for a REST endpoint
type: object
io.argoproj.eventsource.v1alpha1.StorageGridEventSource:
description: StorageGridEventSource refers to event-source for StorageGrid
related events
properties:
apiURL:
description: APIURL is the url of the storagegrid api.
type: string
authToken:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Auth token for storagegrid api
bucket:
description: Name of the bucket to register notifications for.
type: string
events:
items:
type: string
type: array
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.StorageGridFilter"
description: Filter on object key which caused the notification.
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
region:
description: S3 region. Defaults to us-east-1
type: string
topicArn:
description: TopicArn
type: string
webhook:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WebhookContext"
description: Webhook holds configuration for a REST endpoint
required:
- topicArn
- bucket
- authToken
- apiURL
type: object
io.argoproj.eventsource.v1alpha1.StorageGridFilter:
description: StorageGridFilter represents filters to apply to bucket
notifications for specifying constraints on objects
properties:
prefix:
type: string
suffix:
type: string
required:
- prefix
- suffix
type: object
io.argoproj.eventsource.v1alpha1.StripeEventSource:
description: StripeEventSource describes the event source for stripe webhook
notifications More info at https://stripe.com/docs/webhooks
properties:
apiKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
APIKey refers to K8s secret that holds Stripe API key. Used only if
CreateWebhook is enabled.
createWebhook:
description: CreateWebhook if specified creates a new webhook programmatically.
type: boolean
eventFilter:
description:
EventFilter describes the type of events to listen to. If not
specified, all types of events will be processed. More info at
https://stripe.com/docs/api/events/list
items:
type: string
type: array
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
webhook:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.WebhookContext"
description: Webhook holds configuration for a REST endpoint
type: object
io.argoproj.eventsource.v1alpha1.Template:
description: Template holds the information of an EventSource deployment template
properties:
affinity:
$ref: "#/definitions/io.k8s.api.core.v1.Affinity"
description: If specified, the pod's scheduling constraints
container:
$ref: "#/definitions/io.k8s.api.core.v1.Container"
description: Container is the main container image to run in the event source pod
imagePullSecrets:
description:
"ImagePullSecrets is an optional list of references to secrets in
the same namespace to use for pulling any of the images used by this
PodSpec. If specified, these secrets will be passed to individual
puller implementations for them to use. For example, in the case of
docker, only DockerConfig type secrets are honored. More info:
https://kubernetes.io/docs/concepts/containers/images#specifying-imag\
epullsecrets-on-a-pod"
items:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
metadata:
$ref: "#/definitions/io.argoproj.common.Metadata"
description: Metadata sets the pods's metadata, i.e. annotations and labels
nodeSelector:
additionalProperties:
type: string
description:
"NodeSelector is a selector which must be true for the pod to fit
on a node. Selector which must match a node's labels for the pod to be
scheduled on that node. More info:
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/"
type: object
priority:
description:
"The priority value. Various system components use this field to
find the priority of the EventSource pod. When Priority Admission
Controller is enabled, it prevents users from setting this field. The
admission controller populates this field from PriorityClassName. The
higher the value, the higher the priority. More info:
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemp\
tion/"
format: int32
type: integer
priorityClassName:
description: "If specified, indicates the EventSource pod's priority.
\"system-node-critical\" and \"system-cluster-critical\" are two
special keywords which indicate the highest priorities with the former
being the highest priority. Any other name must be defined by creating
a PriorityClass object with that name. If not specified, the pod
priority will be default or zero if there is no default. More info:
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemp\
tion/"
type: string
securityContext:
$ref: "#/definitions/io.k8s.api.core.v1.PodSecurityContext"
description:
"SecurityContext holds pod-level security attributes and common
container settings. Optional: Defaults to empty. See type description
for default values of each field."
serviceAccountName:
description:
"ServiceAccountName is the name of the ServiceAccount to use to run
event source pod. More info:
https://kubernetes.io/docs/tasks/configure-pod-container/configure-se\
rvice-account/"
type: string
tolerations:
description: If specified, the pod's tolerations.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Toleration"
type: array
volumes:
description:
Volumes is a list of volumes that can be mounted by containers in
an eventsource.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Volume"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
type: object
io.argoproj.eventsource.v1alpha1.WatchPathConfig:
properties:
directory:
description: Directory to watch for events
type: string
path:
description: Path is relative path of object to watch with respect to the directory
type: string
pathRegexp:
description:
PathRegexp is regexp of relative path of object to watch with
respect to the directory
type: string
required:
- directory
type: object
io.argoproj.eventsource.v1alpha1.WebhookContext:
description: WebhookContext holds a general purpose REST API context
properties:
authSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
AuthSecret holds a secret selector that contains a bearer token for
authentication
endpoint:
description: REST API endpoint
type: string
maxPayloadSize:
description:
'MaxPayloadSize is the maximum webhook payload size that the server
will accept. Requests exceeding that limit will be rejected with
"request too large" response. Default value: 1048576 (1MB).'
format: int64
type: integer
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
method:
description:
"Method is HTTP request method that indicates the desired action to
be performed for a given resource. See RFC7231 Hypertext Transfer
Protocol (HTTP/1.1): Semantics and Content"
type: string
port:
description: Port on which HTTP server is listening for incoming events.
type: string
serverCertSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: ServerCertPath refers the file that contains the cert.
serverKeySecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: ServerKeyPath refers the file that contains private key
url:
description: URL is the url of the server.
type: string
required:
- endpoint
- method
- port
- url
type: object
io.argoproj.eventsource.v1alpha1.WebhookEventSource:
description: CalendarEventSource describes an HTTP based EventSource
properties:
authSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
AuthSecret holds a secret selector that contains a bearer token for
authentication
endpoint:
description: REST API endpoint
type: string
filter:
$ref: "#/definitions/io.argoproj.eventsource.v1alpha1.EventSourceFilter"
description: Filter
maxPayloadSize:
description:
'MaxPayloadSize is the maximum webhook payload size that the server
will accept. Requests exceeding that limit will be rejected with
"request too large" response. Default value: 1048576 (1MB).'
format: int64
type: integer
metadata:
additionalProperties:
type: string
description:
Metadata holds the user defined metadata which will passed along
the event payload.
type: object
method:
description:
"Method is HTTP request method that indicates the desired action to
be performed for a given resource. See RFC7231 Hypertext Transfer
Protocol (HTTP/1.1): Semantics and Content"
type: string
port:
description: Port on which HTTP server is listening for incoming events.
type: string
serverCertSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: ServerCertPath refers the file that contains the cert.
serverKeySecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: ServerKeyPath refers the file that contains private key
url:
description: URL is the url of the server.
type: string
required:
- endpoint
- method
- port
- url
type: object
io.argoproj.sensor.v1alpha1.AWSLambdaTrigger:
description:
AWSLambdaTrigger refers to specification of the trigger to invoke
an AWS Lambda function
properties:
accessKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: AccessKey refers K8s secret containing aws access key
functionName:
description: FunctionName refers to the name of the function to invoke.
type: string
invocationType:
description: >-
Choose from the following options.
* RequestResponse (default) - Invoke the function synchronously. Keep
the connection open until the function returns a response or times out.
The API response includes the function response and additional data.
* Event - Invoke the function asynchronously. Send events that fail multiple
times to the function's dead-letter queue (if it's configured). The API
response only includes a status code.
* DryRun - Validate parameter values and verify that the user or role
has permission to invoke the function.
type: string
parameters:
description:
Parameters is the list of key-value extracted from event's payload
that are applied to the trigger resource.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
payload:
description:
Payload is the list of key-value extracted from an event payload to
construct the request payload.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
region:
description: Region is AWS region
type: string
roleARN:
description: RoleARN is the Amazon Resource Name (ARN) of the role to assume.
type: string
secretKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: SecretKey refers K8s secret containing aws secret key
required:
- functionName
- region
- payload
type: object
io.argoproj.sensor.v1alpha1.ArgoWorkflowTrigger:
description: ArgoWorkflowTrigger is the trigger for the Argo Workflow
properties:
args:
description: Args is the list of arguments to pass to the argo CLI
items:
type: string
type: array
operation:
description:
Operation refers to the type of operation performed on the argo
workflow resource. Default value is Submit.
type: string
parameters:
description:
Parameters is the list of parameters to pass to resolved Argo
Workflow object
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
source:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.ArtifactLocation"
description: Source of the K8s resource file(s)
type: object
io.argoproj.sensor.v1alpha1.ArtifactLocation:
description: ArtifactLocation describes the source location for an external artifact
properties:
configmap:
$ref: "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector"
description: Configmap that stores the artifact
file:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.FileArtifact"
description: File artifact is artifact stored in a file
git:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.GitArtifact"
description: Git repository hosting the artifact
inline:
description: Inline artifact is embedded in sensor spec as a string
type: string
resource:
$ref: "#/definitions/io.argoproj.common.Resource"
description: Resource is generic template for K8s resource
s3:
$ref: "#/definitions/io.argoproj.common.S3Artifact"
description: S3 compliant artifact
url:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.URLArtifact"
description: URL to fetch the artifact from
type: object
io.argoproj.sensor.v1alpha1.AzureEventHubsTrigger:
description:
AzureEventHubsTrigger refers to specification of the Azure Event
Hubs Trigger
properties:
fqdn:
description:
FQDN refers to the namespace dns of Azure Event Hubs to be used
i.e. <namespace>.servicebus.windows.net
type: string
hubName:
description: HubName refers to the Azure Event Hub to send events to
type: string
parameters:
description:
Parameters is the list of key-value extracted from event's payload
that are applied to the trigger resource.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
payload:
description:
Payload is the list of key-value extracted from an event payload to
construct the request payload.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
sharedAccessKey:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
SharedAccessKey refers to a K8s secret containing the primary key
for the
sharedAccessKeyName:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: SharedAccessKeyName refers to the name of the Shared Access Key
required:
- fqdn
- hubName
- sharedAccessKeyName
- payload
type: object
io.argoproj.sensor.v1alpha1.ConditionsResetByTime:
properties:
cron:
description: "Cron is a cron-like expression. For reference, see:
https://en.wikipedia.org/wiki/Cron"
type: string
timezone:
type: string
type: object
io.argoproj.sensor.v1alpha1.ConditionsResetCriteria:
properties:
byTime:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.ConditionsResetByTime"
description: "Schedule is a cron-like expression. For reference, see:
https://en.wikipedia.org/wiki/Cron"
type: object
io.argoproj.sensor.v1alpha1.CustomTrigger:
description: CustomTrigger refers to the specification of the custom trigger.
properties:
certSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
CertSecret refers to the secret that contains cert for secure
connection between sensor and custom trigger gRPC server.
parameters:
description:
Parameters is the list of parameters that is applied to resolved
custom trigger trigger object.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
payload:
description:
Payload is the list of key-value extracted from an event payload to
construct the request payload.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
secure:
description:
Secure refers to type of the connection between sensor to custom
trigger gRPC
type: boolean
serverNameOverride:
description:
ServerNameOverride for the secure connection between sensor and
custom trigger gRPC server.
type: string
serverURL:
description: ServerURL is the url of the gRPC server that executes custom trigger
type: string
spec:
additionalProperties:
type: string
description:
Spec is the custom trigger resource specification that custom
trigger gRPC server knows how to interpret.
type: object
required:
- serverURL
- secure
- spec
- payload
type: object
io.argoproj.sensor.v1alpha1.DataFilter:
description: "DataFilter describes constraints and filters for event data
Regular Expressions are purposefully not a feature as they are overkill
for our uses here See Rob Pike's Post:
https://commandcenter.blogspot.com/2011/08/regular-expressions-in-lexing-\
and.html"
properties:
comparator:
description:
Comparator compares the event data with a user given value. Can be
">=", ">", "=", "!=", "<", or "<=". Is optional, and if left blank
treated as equality "=".
type: string
path:
description:
Path is the JSONPath of the event's (JSON decoded) data key Path is
a series of keys separated by a dot. A key may contain wildcard
characters '*' and '?'. To access an array value use the index as the
key. The dot and wildcard characters can be escaped with '\'. See
https://github.com/tidwall/gjson#path-syntax for more information on
how to use this.
type: string
template:
description:
Template is a go-template for extracting a string from the event's
data. A Template is evaluated with provided path, type and value. The
templating follows the standard go-template syntax as well as sprig's
extra functions. See https://pkg.go.dev/text/template and
https://masterminds.github.io/sprig/
type: string
type:
description: Type contains the JSON type of the data
type: string
value:
description:
Value is the allowed string values for this key Booleans are passed
using strconv.ParseBool() Numbers are parsed using as float64 using
strconv.ParseFloat() Strings are taken as is Nils this value is
ignored
items:
type: string
type: array
required:
- path
- type
- value
type: object
io.argoproj.sensor.v1alpha1.Event:
description: Event represents the cloudevent received from an event source.
properties:
context:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.EventContext"
data:
format: byte
type: string
required:
- data
type: object
io.argoproj.sensor.v1alpha1.EventContext:
description:
EventContext holds the context of the cloudevent received from an
event source.
properties:
datacontenttype:
description:
DataContentType - A MIME (RFC2046) string describing the media type
of `data`.
type: string
id:
description:
ID of the event; must be non-empty and unique within the scope of
the producer.
type: string
source:
description: Source - A URI describing the event producer.
type: string
specversion:
description:
SpecVersion - The version of the CloudEvents specification used by
the event.
type: string
subject:
description: Subject - The subject of the event in the context of the event producer
type: string
time:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Time - A Timestamp when the event happened.
type:
description: Type - The type of the occurrence which has happened.
type: string
required:
- id
- source
- specversion
- type
- datacontenttype
- subject
- time
type: object
io.argoproj.sensor.v1alpha1.EventDependency:
description: EventDependency describes a dependency
properties:
eventName:
description: EventName is the name of the event
type: string
eventSourceName:
description: EventSourceName is the name of EventSource that Sensor depends on
type: string
filters:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.EventDependencyFilter"
description:
Filters and rules governing toleration of success and constraints
on the context and data of an event
filtersLogicalOperator:
description:
"FiltersLogicalOperator defines how different filters are evaluated
together. Available values: and (&&), or (||) Is optional and if left
blank treated as and (&&)."
type: string
name:
description: Name is a unique name of this dependency
type: string
transform:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.EventDependencyTransformer"
description: Transform transforms the event data
required:
- name
- eventSourceName
- eventName
type: object
io.argoproj.sensor.v1alpha1.EventDependencyFilter:
description: EventDependencyFilter defines filters and constraints for a event.
properties:
context:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.EventContext"
description: Context filter constraints
data:
description: Data filter constraints with escalation
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.DataFilter"
type: array
dataLogicalOperator:
description:
"DataLogicalOperator defines how multiple Data filters (if defined)
are evaluated together. Available values: and (&&), or (||) Is
optional and if left blank treated as and (&&)."
type: string
exprLogicalOperator:
description: "ExprLogicalOperator defines how multiple Exprs filters (if
defined) are evaluated together. Available values: and (&&), or (||)
Is optional and if left blank treated as and (&&)."
type: string
exprs:
description:
Exprs contains the list of expressions evaluated against the event
payload.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.ExprFilter"
type: array
script:
description:
Script refers to a Lua script evaluated to determine the validity
of an event.
type: string
time:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TimeFilter"
description: Time filter on the event with escalation
type: object
io.argoproj.sensor.v1alpha1.EventDependencyTransformer:
description: EventDependencyTransformer transforms the event
properties:
jq:
description: JQ holds the jq command applied for transformation
type: string
script:
description: Script refers to a Lua script used to transform the event
type: string
type: object
io.argoproj.sensor.v1alpha1.ExprFilter:
properties:
expr:
description:
Expr refers to the expression that determines the outcome of the
filter.
type: string
fields:
description:
Fields refers to set of keys that refer to the paths within event
payload.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.PayloadField"
type: array
required:
- expr
- fields
type: object
io.argoproj.sensor.v1alpha1.FileArtifact:
description: FileArtifact contains information about an artifact in a filesystem
properties:
path:
type: string
type: object
io.argoproj.sensor.v1alpha1.GitArtifact:
description: GitArtifact contains information about an artifact stored in git
properties:
branch:
description: Branch to use to pull trigger resource
type: string
cloneDirectory:
description:
Directory to clone the repository. We clone complete directory
because GitArtifact is not limited to any specific Git service
providers. Hence we don't use any specific git provider client.
type: string
creds:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.GitCreds"
description: Creds contain reference to git username and password
filePath:
description: Path to file that contains trigger resource definition
type: string
insecureIgnoreHostKey:
description: Whether to ignore host key
type: boolean
ref:
description:
Ref to use to pull trigger resource. Will result in a shallow clone
and fetch.
type: string
remote:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.GitRemoteConfig"
description:
Remote to manage set of tracked repositories. Defaults to "origin".
Refer https://git-scm.com/docs/git-remote
sshKeySecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: SSHKeySecret refers to the secret that contains SSH key
tag:
description: Tag to use to pull trigger resource
type: string
url:
description: Git URL
type: string
required:
- url
- cloneDirectory
- filePath
type: object
io.argoproj.sensor.v1alpha1.GitCreds:
description: GitCreds contain reference to git username and password
properties:
password:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
username:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
type: object
io.argoproj.sensor.v1alpha1.GitRemoteConfig:
description: GitRemoteConfig contains the configuration of a Git remote
properties:
name:
description: Name of the remote to fetch from.
type: string
urls:
description:
URLs the URLs of a remote repository. It must be non-empty. Fetch
will always use the first URL, while push will use all of them.
items:
type: string
type: array
required:
- name
- urls
type: object
io.argoproj.sensor.v1alpha1.HTTPTrigger:
description: HTTPTrigger is the trigger for the HTTP request
properties:
basicAuth:
$ref: "#/definitions/io.argoproj.common.BasicAuth"
description: BasicAuth configuration for the http request.
headers:
additionalProperties:
type: string
description: Headers for the HTTP request.
type: object
method:
description: Method refers to the type of the HTTP request. Refer
https://golang.org/src/net/http/method.go for more info. Default value
is POST.
type: string
parameters:
description:
Parameters is the list of key-value extracted from event's payload
that are applied to the HTTP trigger resource.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
payload:
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
secureHeaders:
description: Secure Headers stored in Kubernetes Secrets for the HTTP requests.
items:
$ref: "#/definitions/io.argoproj.common.SecureHeader"
type: array
timeout:
description:
Timeout refers to the HTTP request timeout in seconds. Default
value is 60 seconds.
format: int64
type: integer
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the HTTP client.
url:
description: URL refers to the URL to send HTTP request to.
type: string
required:
- url
- payload
type: object
io.argoproj.sensor.v1alpha1.K8SResourcePolicy:
description:
K8SResourcePolicy refers to the policy used to check the state of
K8s based triggers using labels
properties:
backoff:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: Backoff before checking resource state
errorOnBackoffTimeout:
description:
ErrorOnBackoffTimeout determines whether sensor should transition
to error state if the trigger policy is unable to determine the state
of the resource
type: boolean
labels:
additionalProperties:
type: string
description: Labels required to identify whether a resource is in success state
type: object
required:
- backoff
- errorOnBackoffTimeout
type: object
io.argoproj.sensor.v1alpha1.KafkaTrigger:
description: KafkaTrigger refers to the specification of the Kafka trigger.
properties:
compress:
description:
Compress determines whether to compress message or not. Defaults to
false. If set to true, compresses message using snappy compression.
type: boolean
flushFrequency:
description:
FlushFrequency refers to the frequency in milliseconds to flush
batches. Defaults to 500 milliseconds.
format: int32
type: integer
parameters:
description:
Parameters is the list of parameters that is applied to resolved
Kafka trigger object.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
partition:
description: Partition to write data to.
format: int32
type: integer
partitioningKey:
description:
The partitioning key for the messages put on the Kafka topic.
Defaults to broker url.
type: string
payload:
description:
Payload is the list of key-value extracted from an event payload to
construct the request payload.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
requiredAcks:
description:
RequiredAcks used in producer to tell the broker how many replica
acknowledgements Defaults to 1 (Only wait for the leader to ack).
format: int32
type: integer
sasl:
$ref: "#/definitions/io.argoproj.common.SASLConfig"
description: SASL configuration for the kafka client
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the Kafka producer.
topic:
description: Name of the topic. More info at
https://kafka.apache.org/documentation/#intro_topics
type: string
url:
description: URL of the Kafka broker, multiple URLs separated by comma.
type: string
version:
description:
Specify what kafka version is being connected to enables certain
features in sarama, defaults to 1.0.0
type: string
required:
- url
- topic
- partition
- payload
type: object
io.argoproj.sensor.v1alpha1.LogTrigger:
properties:
intervalSeconds:
description:
Only print messages every interval. Useful to prevent logging too
much data for busy events.
format: int64
type: integer
type: object
io.argoproj.sensor.v1alpha1.NATSTrigger:
description: NATSTrigger refers to the specification of the NATS trigger.
properties:
parameters:
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
payload:
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
subject:
description: Name of the subject to put message on.
type: string
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the NATS producer.
url:
description: URL of the NATS cluster.
type: string
required:
- url
- subject
- payload
type: object
io.argoproj.sensor.v1alpha1.OpenWhiskTrigger:
description: OpenWhiskTrigger refers to the specification of the OpenWhisk trigger.
properties:
actionName:
description: Name of the action/function.
type: string
authToken:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: AuthToken for authentication.
host:
description: Host URL of the OpenWhisk.
type: string
namespace:
description: Namespace for the action. Defaults to "_".
type: string
parameters:
description:
Parameters is the list of key-value extracted from event's payload
that are applied to the trigger resource.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
payload:
description:
Payload is the list of key-value extracted from an event payload to
construct the request payload.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
version:
description: Version for the API. Defaults to v1.
type: string
required:
- host
- actionName
- payload
type: object
io.argoproj.sensor.v1alpha1.PayloadField:
description: PayloadField binds a value at path within the event payload against a name.
properties:
name:
description: Name acts as key that holds the value at the path.
type: string
path:
description:
Path is the JSONPath of the event's (JSON decoded) data key Path is
a series of keys separated by a dot. A key may contain wildcard
characters '*' and '?'. To access an array value use the index as the
key. The dot and wildcard characters can be escaped with '\'. See
https://github.com/tidwall/gjson#path-syntax for more information on
how to use this.
type: string
required:
- path
- name
type: object
io.argoproj.sensor.v1alpha1.PulsarTrigger:
description: PulsarTrigger refers to the specification of the Pulsar trigger.
properties:
authTokenSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Authentication token for the pulsar client.
connectionBackoff:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: Backoff holds parameters applied to connection.
parameters:
description:
Parameters is the list of parameters that is applied to resolved
Kafka trigger object.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
payload:
description:
Payload is the list of key-value extracted from an event payload to
construct the request payload.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
tls:
$ref: "#/definitions/io.argoproj.common.TLSConfig"
description: TLS configuration for the pulsar client.
tlsAllowInsecureConnection:
description: Whether the Pulsar client accept untrusted TLS certificate from broker.
type: boolean
tlsTrustCertsSecret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Trusted TLS certificate secret.
tlsValidateHostname:
description:
Whether the Pulsar client verify the validity of the host name from
broker.
type: boolean
topic:
description: Name of the topic. See
https://pulsar.apache.org/docs/en/concepts-messaging/
type: string
url:
description: Configure the service URL for the Pulsar service.
type: string
required:
- url
- topic
- payload
type: object
io.argoproj.sensor.v1alpha1.RateLimit:
properties:
requestsPerUnit:
format: int32
type: integer
unit:
description: Defaults to Second
type: string
type: object
io.argoproj.sensor.v1alpha1.Sensor:
description: Sensor is the definition of a sensor resource
properties:
apiVersion:
const: argoproj.io/v1alpha1
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
const: Sensor
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.SensorSpec"
status:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.SensorStatus"
required:
- metadata
- spec
type: object
x-kubernetes-group-version-kind:
- group: argoproj.io
kind: Sensor
version: v1alpha1
io.argoproj.sensor.v1alpha1.SensorList:
description: SensorList is the list of Sensor resources
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.Sensor"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
required:
- metadata
- items
type: object
io.argoproj.sensor.v1alpha1.SensorSpec:
description: SensorSpec represents desired sensor state
properties:
dependencies:
description: Dependencies is a list of the events that this sensor is dependent on.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.EventDependency"
type: array
errorOnFailedRound:
description:
ErrorOnFailedRound if set to true, marks sensor state as `error` if
the previous trigger round fails. Once sensor state is set to `error`,
no further triggers will be processed.
type: boolean
eventBusName:
description:
EventBusName references to a EventBus name. By default the value is
"default"
type: string
replicas:
description: Replicas is the sensor deployment replicas
format: int32
type: integer
revisionHistoryLimit:
description:
RevisionHistoryLimit specifies how many old deployment revisions to
retain
format: int32
type: integer
template:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.Template"
description: Template is the pod specification for the sensor
triggers:
description:
Triggers is a list of the things that this sensor evokes. These are
the outputs from this sensor.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.Trigger"
type: array
required:
- dependencies
- triggers
type: object
io.argoproj.sensor.v1alpha1.SensorStatus:
description: SensorStatus contains information about the status of a sensor.
properties:
conditions:
description:
Conditions are the latest available observations of a resource's
current state.
items:
$ref: "#/definitions/io.argoproj.common.Condition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
type: object
io.argoproj.sensor.v1alpha1.SlackTrigger:
description: SlackTrigger refers to the specification of the slack notification trigger.
properties:
channel:
description: Channel refers to which Slack channel to send slack message.
type: string
message:
description: Message refers to the message to send to the Slack channel.
type: string
parameters:
description:
Parameters is the list of key-value extracted from event's payload
that are applied to the trigger resource.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
slackToken:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description:
SlackToken refers to the Kubernetes secret that holds the slack
token required to send messages.
type: object
io.argoproj.sensor.v1alpha1.StandardK8STrigger:
description: StandardK8STrigger is the standard Kubernetes resource trigger
properties:
liveObject:
description:
LiveObject specifies whether the resource should be directly
fetched from K8s instead of being marshaled from the resource
artifact. If set to true, the resource artifact must contain the
information required to uniquely identify the resource in the cluster,
that is, you must specify "apiVersion", "kind" as well as "name" and
"namespace" meta data. Only valid for operation type `update`
type: boolean
operation:
description:
Operation refers to the type of operation performed on the k8s
resource. Default value is Create.
type: string
parameters:
description:
Parameters is the list of parameters that is applied to resolved
K8s trigger object.
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
patchStrategy:
description:
'PatchStrategy controls the K8s object patching strategy when the
trigger operation is specified as patch. possible values:
"application/json-patch+json" "application/merge-patch+json"
"application/strategic-merge-patch+json"
"application/apply-patch+yaml". Defaults to
"application/merge-patch+json"'
type: string
source:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.ArtifactLocation"
description: Source of the K8s resource file(s)
type: object
io.argoproj.sensor.v1alpha1.StatusPolicy:
description:
StatusPolicy refers to the policy used to check the state of the
trigger using response status
properties:
allow:
items:
format: int32
type: integer
type: array
required:
- allow
type: object
io.argoproj.sensor.v1alpha1.Template:
description: Template holds the information of a sensor deployment template
properties:
affinity:
$ref: "#/definitions/io.k8s.api.core.v1.Affinity"
description: If specified, the pod's scheduling constraints
container:
$ref: "#/definitions/io.k8s.api.core.v1.Container"
description: Container is the main container image to run in the sensor pod
imagePullSecrets:
description:
"ImagePullSecrets is an optional list of references to secrets in
the same namespace to use for pulling any of the images used by this
PodSpec. If specified, these secrets will be passed to individual
puller implementations for them to use. For example, in the case of
docker, only DockerConfig type secrets are honored. More info:
https://kubernetes.io/docs/concepts/containers/images#specifying-imag\
epullsecrets-on-a-pod"
items:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
metadata:
$ref: "#/definitions/io.argoproj.common.Metadata"
description: Metadata sets the pods's metadata, i.e. annotations and labels
nodeSelector:
additionalProperties:
type: string
description:
"NodeSelector is a selector which must be true for the pod to fit
on a node. Selector which must match a node's labels for the pod to be
scheduled on that node. More info:
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/"
type: object
priority:
description:
"The priority value. Various system components use this field to
find the priority of the EventSource pod. When Priority Admission
Controller is enabled, it prevents users from setting this field. The
admission controller populates this field from PriorityClassName. The
higher the value, the higher the priority. More info:
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemp\
tion/"
format: int32
type: integer
priorityClassName:
description: "If specified, indicates the EventSource pod's priority.
\"system-node-critical\" and \"system-cluster-critical\" are two
special keywords which indicate the highest priorities with the former
being the highest priority. Any other name must be defined by creating
a PriorityClass object with that name. If not specified, the pod
priority will be default or zero if there is no default. More info:
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemp\
tion/"
type: string
securityContext:
$ref: "#/definitions/io.k8s.api.core.v1.PodSecurityContext"
description:
"SecurityContext holds pod-level security attributes and common
container settings. Optional: Defaults to empty. See type description
for default values of each field."
serviceAccountName:
description:
"ServiceAccountName is the name of the ServiceAccount to use to run
sensor pod. More info:
https://kubernetes.io/docs/tasks/configure-pod-container/configure-se\
rvice-account/"
type: string
tolerations:
description: If specified, the pod's tolerations.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Toleration"
type: array
volumes:
description:
Volumes is a list of volumes that can be mounted by containers in a
workflow.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Volume"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
type: object
io.argoproj.sensor.v1alpha1.TimeFilter:
description:
TimeFilter describes a window in time. It filters out events that
occur outside the time limits. In other words, only events that occur
after Start and before Stop will pass this filter.
properties:
start:
description:
Start is the beginning of a time window in UTC. Before this time,
events for this dependency are ignored. Format is hh:mm:ss.
type: string
stop:
description:
"Stop is the end of a time window in UTC. After or equal to this
time, events for this dependency are ignored and Format is hh:mm:ss.
If it is smaller than Start, it is treated as next day of Start (e.g.:
22:00:00-01:00:00 means 22:00:00-25:00:00)."
type: string
required:
- start
- stop
type: object
io.argoproj.sensor.v1alpha1.Trigger:
description:
Trigger is an action taken, output produced, an event created, a
message sent
properties:
parameters:
description: Parameters is the list of parameters applied to the trigger
template definition
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameter"
type: array
policy:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerPolicy"
description: Policy to configure backoff and execution criteria for the trigger
rateLimit:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.RateLimit"
description: Rate limit, default unit is Second
retryStrategy:
$ref: "#/definitions/io.argoproj.common.Backoff"
description: Retry strategy, defaults to no retry
template:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerTemplate"
description: Template describes the trigger specification.
type: object
io.argoproj.sensor.v1alpha1.TriggerParameter:
description: TriggerParameter indicates a passed parameter to a service template
properties:
dest:
description:
Dest is the JSONPath of a resource key. A path is a series of keys
separated by a dot. The colon character can be escaped with '.' The -1
key can be used to append a value to an existing array. See
https://github.com/tidwall/sjson#path-syntax for more information
about how this is used.
type: string
operation:
description:
Operation is what to do with the existing value at Dest, whether to
'prepend', 'overwrite', or 'append' it.
type: string
src:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.TriggerParameterSource"
description:
Src contains a source reference to the value of the parameter from
a dependency
required:
- dest
type: object
io.argoproj.sensor.v1alpha1.TriggerParameterSource:
description:
TriggerParameterSource defines the source for a parameter from a
event event
properties:
contextKey:
description:
ContextKey is the JSONPath of the event's (JSON decoded) context
key ContextKey is a series of keys separated by a dot. A key may
contain wildcard characters '*' and '?'. To access an array value use
the index as the key. The dot and wildcard characters can be escaped
with '\'. See https://github.com/tidwall/gjson#path-syntax for more
information on how to use this.
type: string
contextTemplate:
description:
ContextTemplate is a go-template for extracting a string from the
event's context. If a ContextTemplate is provided with a ContextKey,
the template will be evaluated first and fallback to the ContextKey.
The templating follows the standard go-template syntax as well as
sprig's extra functions. See https://pkg.go.dev/text/template and
https://masterminds.github.io/sprig/
type: string
dataKey:
description:
DataKey is the JSONPath of the event's (JSON decoded) data key
DataKey is a series of keys separated by a dot. A key may contain
wildcard characters '*' and '?'. To access an array value use the
index as the key. The dot and wildcard characters can be escaped with
'\'. See https://github.com/tidwall/gjson#path-syntax for more
information on how to use this.
type: string
dataTemplate:
description:
DataTemplate is a go-template for extracting a string from the
event's data. If a DataTemplate is provided with a DataKey, the
template will be evaluated first and fallback to the DataKey. The
templating follows the standard go-template syntax as well as sprig's
extra functions. See https://pkg.go.dev/text/template and
https://masterminds.github.io/sprig/
type: string
dependencyName:
description:
DependencyName refers to the name of the dependency. The event
which is stored for this dependency is used as payload for the
parameterization. Make sure to refer to one of the dependencies you
have defined under Dependencies list.
type: string
value:
description:
Value is the default literal value to use for this parameter source
This is only used if the DataKey is invalid. If the DataKey is invalid
and this is not defined, this param source will produce an error.
type: string
required:
- dependencyName
type: object
io.argoproj.sensor.v1alpha1.TriggerPolicy:
description: TriggerPolicy dictates the policy for the trigger retries
properties:
k8s:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.K8SResourcePolicy"
description:
K8SResourcePolicy refers to the policy used to check the state of
K8s based triggers using using labels
status:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.StatusPolicy"
description:
Status refers to the policy used to check the state of the trigger
using response status
type: object
io.argoproj.sensor.v1alpha1.TriggerTemplate:
description: TriggerTemplate is the template that describes trigger specification.
properties:
argoWorkflow:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.ArgoWorkflowTrigger"
description: ArgoWorkflow refers to the trigger that can perform various
operations on an Argo workflow.
awsLambda:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.AWSLambdaTrigger"
description:
AWSLambda refers to the trigger designed to invoke AWS Lambda
function with with on-the-fly constructable payload.
azureEventHubs:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.AzureEventHubsTrigger"
description:
AzureEventHubs refers to the trigger send an event to an Azure
Event Hub.
conditions:
description:
'Conditions is the conditions to execute the trigger. For example:
"(dep01 || dep02) && dep04"'
type: string
conditionsReset:
description: Criteria to reset the conditons
items:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.ConditionsResetCriteria"
type: array
custom:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.CustomTrigger"
description:
CustomTrigger refers to the trigger designed to connect to a gRPC
trigger server and execute a custom trigger.
http:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.HTTPTrigger"
description:
HTTP refers to the trigger designed to dispatch a HTTP request with
on-the-fly constructable payload.
k8s:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.StandardK8STrigger"
description:
StandardK8STrigger refers to the trigger designed to create or
update a generic Kubernetes resource.
kafka:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.KafkaTrigger"
description: Kafka refers to the trigger designed to place messages on Kafka topic.
log:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.LogTrigger"
description: Log refers to the trigger designed to invoke log the event.
name:
description: Name is a unique name of the action to take.
type: string
nats:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.NATSTrigger"
description: NATS refers to the trigger designed to place message on NATS subject.
openWhisk:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.OpenWhiskTrigger"
description: OpenWhisk refers to the trigger designed to invoke OpenWhisk action.
pulsar:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.PulsarTrigger"
description:
Pulsar refers to the trigger designed to place messages on Pulsar
topic.
slack:
$ref: "#/definitions/io.argoproj.sensor.v1alpha1.SlackTrigger"
description:
Slack refers to the trigger designed to send slack notification
message.
required:
- name
type: object
io.argoproj.sensor.v1alpha1.URLArtifact:
description: URLArtifact contains information about an artifact at an http endpoint.
properties:
path:
description: Path is the complete URL
type: string
verifyCert:
description: VerifyCert decides whether the connection is secure or not
type: boolean
required:
- path
type: object
io.k8s.api.admissionregistration.v1.MutatingWebhook:
description:
MutatingWebhook describes an admission webhook and the resources
and operations it applies to.
properties:
admissionReviewVersions:
description: AdmissionReviewVersions is an ordered list of preferred
`AdmissionReview` versions the Webhook expects. API server will try to
use first version in the list which it supports. If none of the
versions specified in this list supported by API server, validation
will fail for this object. If a persisted webhook configuration
specifies allowed versions and does not include any versions known to
the API Server, calls to the webhook will fail and be subject to the
failure policy.
items:
type: string
type: array
clientConfig:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1.WebhookClientConfig"
description: ClientConfig defines how to communicate with the hook. Required
failurePolicy:
description:
FailurePolicy defines how unrecognized errors from the admission
endpoint are handled - allowed values are Ignore or Fail. Defaults to
Fail.
type: string
matchPolicy:
description: >-
matchPolicy defines how the "rules" list is used to match incoming
requests. Allowed values are "Exact" or "Equivalent".
- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.
- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the webhook.
Defaults to "Equivalent"
type: string
name:
description:
The name of the admission webhook. Name should be fully qualified,
e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of
the webhook, and kubernetes.io is the name of the organization.
Required.
type: string
namespaceSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description: >-
NamespaceSelector decides whether to run the webhook on an object
based on whether the namespace for that object matches the selector.
If the object itself is a namespace, the matching is performed on
object.metadata.labels. If the object is another cluster scoped
resource, it never skips the webhook.
For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
"matchExpressions": [
{
"key": "runlevel",
"operator": "NotIn",
"values": [
"0",
"1"
]
}
]
}
If instead you want to only run the webhook on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
"matchExpressions": [
{
"key": "environment",
"operator": "In",
"values": [
"prod",
"staging"
]
}
]
}
See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
Default to the empty LabelSelector, which matches everything.
objectSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
ObjectSelector decides whether to run the webhook based on if the
object has matching labels. objectSelector is evaluated against both
the oldObject and newObject that would be sent to the webhook, and is
considered to match if either object matches the selector. A null
object (oldObject in the case of create, or newObject in the case of
delete) or an object that cannot have labels (like a
DeploymentRollback or a PodProxyOptions object) is not considered to
match. Use the object selector only if the webhook is opt-in, because
end users may skip the admission webhook by setting the labels.
Default to the empty LabelSelector, which matches everything.
reinvocationPolicy:
description: >-
reinvocationPolicy indicates whether this webhook should be called
multiple times as part of a single admission evaluation. Allowed
values are "Never" and "IfNeeded".
Never: the webhook will not be called more than once in a single admission evaluation.
IfNeeded: the webhook will be called at least one additional time as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial webhook call. Webhooks that specify this option *must* be idempotent, able to process objects they previously admitted. Note: * the number of additional invocations is not guaranteed to be exactly one. * if additional invocations result in further modifications to the object, webhooks are not guaranteed to be invoked again. * webhooks that use this option may be reordered to minimize the number of additional invocations. * to validate an object after all mutations are guaranteed complete, use a validating admission webhook instead.
Defaults to "Never".
type: string
rules:
description:
Rules describes what operations on what resources/subresources the
webhook cares about. The webhook cares about an operation if it
matches _any_ Rule. However, in order to prevent
ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting
the cluster in a state which cannot be recovered from without
completely disabling the plugin, ValidatingAdmissionWebhooks and
MutatingAdmissionWebhooks are never called on admission requests for
ValidatingWebhookConfiguration and MutatingWebhookConfiguration
objects.
items:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1.RuleWithOperations"
type: array
sideEffects:
description: "SideEffects states whether this webhook has side effects.
Acceptable values are: None, NoneOnDryRun (webhooks created via
v1beta1 may also specify Some or Unknown). Webhooks with side effects
MUST implement a reconciliation system, since a request may be
rejected by a future step in the admission change and the side effects
therefore need to be undone. Requests with the dryRun attribute will
be auto-rejected if they match a webhook with sideEffects == Unknown
or Some."
type: string
timeoutSeconds:
description:
TimeoutSeconds specifies the timeout for this webhook. After the
timeout passes, the webhook call will be ignored or the API call will
fail based on the failure policy. The timeout value must be between 1
and 30 seconds. Default to 10 seconds.
format: int32
type: integer
required:
- name
- clientConfig
- sideEffects
- admissionReviewVersions
type: object
io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration:
description: MutatingWebhookConfiguration describes the configuration of and
admission webhook that accept or reject and may change the object.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object metadata; More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata."
webhooks:
description:
Webhooks is a list of webhooks and the affected resources and
operations.
items:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhook"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
type: object
x-kubernetes-group-version-kind:
- group: admissionregistration.k8s.io
kind: MutatingWebhookConfiguration
version: v1
io.k8s.api.admissionregistration.v1.MutatingWebhookConfigurationList:
description: MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of MutatingWebhookConfiguration.
items:
$ref:
"#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfigu\
ration"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: admissionregistration.k8s.io
kind: MutatingWebhookConfigurationList
version: v1
io.k8s.api.admissionregistration.v1.RuleWithOperations:
description:
RuleWithOperations is a tuple of Operations and Resources. It is
recommended to make sure that all the tuple expansions are valid.
properties:
apiGroups:
description:
APIGroups is the API groups the resources belong to. '*' is all
groups. If '*' is present, the length of the slice must be one.
Required.
items:
type: string
type: array
apiVersions:
description:
APIVersions is the API versions the resources belong to. '*' is all
versions. If '*' is present, the length of the slice must be one.
Required.
items:
type: string
type: array
operations:
description:
Operations is the operations the admission hook cares about -
CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and
any future admission operations that are added. If '*' is present, the
length of the slice must be one. Required.
items:
type: string
type: array
resources:
description: >-
Resources is a list of resources this rule applies to.
For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.
If wildcard is present, the validation rule will ensure resources do not overlap with each other.
Depending on the enclosing object, subresources might not be allowed. Required.
items:
type: string
type: array
scope:
description:
scope specifies the scope of this rule. Valid values are "Cluster",
"Namespaced", and "*" "Cluster" means that only cluster-scoped
resources will match this rule. Namespace API objects are
cluster-scoped. "Namespaced" means that only namespaced resources will
match this rule. "*" means that there are no scope restrictions.
Subresources match the scope of their parent resource. Default is "*".
type: string
type: object
io.k8s.api.admissionregistration.v1.ServiceReference:
description: ServiceReference holds a reference to Service.legacy.k8s.io
properties:
name:
description: "`name` is the name of the service. Required"
type: string
namespace:
description: "`namespace` is the namespace of the service. Required"
type: string
path:
description:
"`path` is an optional URL path which will be sent in any request
to this service."
type: string
port:
description:
If specified, the port on the service that hosting webhook. Default
to 443 for backward compatibility. `port` should be a valid port
number (1-65535, inclusive).
format: int32
type: integer
required:
- namespace
- name
type: object
io.k8s.api.admissionregistration.v1.ValidatingWebhook:
description:
ValidatingWebhook describes an admission webhook and the resources
and operations it applies to.
properties:
admissionReviewVersions:
description: AdmissionReviewVersions is an ordered list of preferred
`AdmissionReview` versions the Webhook expects. API server will try to
use first version in the list which it supports. If none of the
versions specified in this list supported by API server, validation
will fail for this object. If a persisted webhook configuration
specifies allowed versions and does not include any versions known to
the API Server, calls to the webhook will fail and be subject to the
failure policy.
items:
type: string
type: array
clientConfig:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1.WebhookClientConfig"
description: ClientConfig defines how to communicate with the hook. Required
failurePolicy:
description:
FailurePolicy defines how unrecognized errors from the admission
endpoint are handled - allowed values are Ignore or Fail. Defaults to
Fail.
type: string
matchPolicy:
description: >-
matchPolicy defines how the "rules" list is used to match incoming
requests. Allowed values are "Exact" or "Equivalent".
- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.
- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the webhook.
Defaults to "Equivalent"
type: string
name:
description:
The name of the admission webhook. Name should be fully qualified,
e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of
the webhook, and kubernetes.io is the name of the organization.
Required.
type: string
namespaceSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description: >-
NamespaceSelector decides whether to run the webhook on an object
based on whether the namespace for that object matches the selector.
If the object itself is a namespace, the matching is performed on
object.metadata.labels. If the object is another cluster scoped
resource, it never skips the webhook.
For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
"matchExpressions": [
{
"key": "runlevel",
"operator": "NotIn",
"values": [
"0",
"1"
]
}
]
}
If instead you want to only run the webhook on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
"matchExpressions": [
{
"key": "environment",
"operator": "In",
"values": [
"prod",
"staging"
]
}
]
}
See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels for more examples of label selectors.
Default to the empty LabelSelector, which matches everything.
objectSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
ObjectSelector decides whether to run the webhook based on if the
object has matching labels. objectSelector is evaluated against both
the oldObject and newObject that would be sent to the webhook, and is
considered to match if either object matches the selector. A null
object (oldObject in the case of create, or newObject in the case of
delete) or an object that cannot have labels (like a
DeploymentRollback or a PodProxyOptions object) is not considered to
match. Use the object selector only if the webhook is opt-in, because
end users may skip the admission webhook by setting the labels.
Default to the empty LabelSelector, which matches everything.
rules:
description:
Rules describes what operations on what resources/subresources the
webhook cares about. The webhook cares about an operation if it
matches _any_ Rule. However, in order to prevent
ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting
the cluster in a state which cannot be recovered from without
completely disabling the plugin, ValidatingAdmissionWebhooks and
MutatingAdmissionWebhooks are never called on admission requests for
ValidatingWebhookConfiguration and MutatingWebhookConfiguration
objects.
items:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1.RuleWithOperations"
type: array
sideEffects:
description: "SideEffects states whether this webhook has side effects.
Acceptable values are: None, NoneOnDryRun (webhooks created via
v1beta1 may also specify Some or Unknown). Webhooks with side effects
MUST implement a reconciliation system, since a request may be
rejected by a future step in the admission change and the side effects
therefore need to be undone. Requests with the dryRun attribute will
be auto-rejected if they match a webhook with sideEffects == Unknown
or Some."
type: string
timeoutSeconds:
description:
TimeoutSeconds specifies the timeout for this webhook. After the
timeout passes, the webhook call will be ignored or the API call will
fail based on the failure policy. The timeout value must be between 1
and 30 seconds. Default to 10 seconds.
format: int32
type: integer
required:
- name
- clientConfig
- sideEffects
- admissionReviewVersions
type: object
io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration:
description:
ValidatingWebhookConfiguration describes the configuration of and
admission webhook that accept or reject and object without changing it.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object metadata; More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata."
webhooks:
description:
Webhooks is a list of webhooks and the affected resources and
operations.
items:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhook"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
type: object
x-kubernetes-group-version-kind:
- group: admissionregistration.k8s.io
kind: ValidatingWebhookConfiguration
version: v1
io.k8s.api.admissionregistration.v1.ValidatingWebhookConfigurationList:
description: ValidatingWebhookConfigurationList is a list of
ValidatingWebhookConfiguration.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of ValidatingWebhookConfiguration.
items:
$ref:
"#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfi\
guration"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: admissionregistration.k8s.io
kind: ValidatingWebhookConfigurationList
version: v1
io.k8s.api.admissionregistration.v1.WebhookClientConfig:
description: WebhookClientConfig contains the information to make a TLS
connection with the webhook
properties:
caBundle:
description:
"`caBundle` is a PEM encoded CA bundle which will be used to
validate the webhook's server certificate. If unspecified, system
trust roots on the apiserver are used."
format: byte
type: string
service:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1.ServiceReference"
description: >-
`service` is a reference to the service for this webhook. Either
`service` or `url` must be specified.
If the webhook is running within the cluster, then you should use `service`.
url:
description: >-
`url` gives the location of the webhook, in standard URL form
(`scheme://host:port/path`). Exactly one of `url` or `service` must be
specified.
The `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.
Please note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.
The scheme must be "https"; the URL must begin with "https://".
A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.
Attempting to use a user or basic auth e.g. "user:password@" is not allowed. Fragments ("#...") and query parameters ("?...") are not allowed, either.
type: string
type: object
io.k8s.api.admissionregistration.v1beta1.MutatingWebhook:
description:
MutatingWebhook describes an admission webhook and the resources
and operations it applies to.
properties:
admissionReviewVersions:
description: AdmissionReviewVersions is an ordered list of preferred
`AdmissionReview` versions the Webhook expects. API server will try to
use first version in the list which it supports. If none of the
versions specified in this list supported by API server, validation
will fail for this object. If a persisted webhook configuration
specifies allowed versions and does not include any versions known to
the API Server, calls to the webhook will fail and be subject to the
failure policy. Default to `['v1beta1']`.
items:
type: string
type: array
clientConfig:
$ref:
"#/definitions/io.k8s.api.admissionregistration.v1beta1.WebhookClientConf\
ig"
description: ClientConfig defines how to communicate with the hook. Required
failurePolicy:
description:
FailurePolicy defines how unrecognized errors from the admission
endpoint are handled - allowed values are Ignore or Fail. Defaults to
Ignore.
type: string
matchPolicy:
description: >-
matchPolicy defines how the "rules" list is used to match incoming
requests. Allowed values are "Exact" or "Equivalent".
- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.
- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the webhook.
Defaults to "Exact"
type: string
name:
description:
The name of the admission webhook. Name should be fully qualified,
e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of
the webhook, and kubernetes.io is the name of the organization.
Required.
type: string
namespaceSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description: >-
NamespaceSelector decides whether to run the webhook on an object
based on whether the namespace for that object matches the selector.
If the object itself is a namespace, the matching is performed on
object.metadata.labels. If the object is another cluster scoped
resource, it never skips the webhook.
For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
"matchExpressions": [
{
"key": "runlevel",
"operator": "NotIn",
"values": [
"0",
"1"
]
}
]
}
If instead you want to only run the webhook on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
"matchExpressions": [
{
"key": "environment",
"operator": "In",
"values": [
"prod",
"staging"
]
}
]
}
See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
Default to the empty LabelSelector, which matches everything.
objectSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
ObjectSelector decides whether to run the webhook based on if the
object has matching labels. objectSelector is evaluated against both
the oldObject and newObject that would be sent to the webhook, and is
considered to match if either object matches the selector. A null
object (oldObject in the case of create, or newObject in the case of
delete) or an object that cannot have labels (like a
DeploymentRollback or a PodProxyOptions object) is not considered to
match. Use the object selector only if the webhook is opt-in, because
end users may skip the admission webhook by setting the labels.
Default to the empty LabelSelector, which matches everything.
reinvocationPolicy:
description: >-
reinvocationPolicy indicates whether this webhook should be called
multiple times as part of a single admission evaluation. Allowed
values are "Never" and "IfNeeded".
Never: the webhook will not be called more than once in a single admission evaluation.
IfNeeded: the webhook will be called at least one additional time as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial webhook call. Webhooks that specify this option *must* be idempotent, able to process objects they previously admitted. Note: * the number of additional invocations is not guaranteed to be exactly one. * if additional invocations result in further modifications to the object, webhooks are not guaranteed to be invoked again. * webhooks that use this option may be reordered to minimize the number of additional invocations. * to validate an object after all mutations are guaranteed complete, use a validating admission webhook instead.
Defaults to "Never".
type: string
rules:
description:
Rules describes what operations on what resources/subresources the
webhook cares about. The webhook cares about an operation if it
matches _any_ Rule. However, in order to prevent
ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting
the cluster in a state which cannot be recovered from without
completely disabling the plugin, ValidatingAdmissionWebhooks and
MutatingAdmissionWebhooks are never called on admission requests for
ValidatingWebhookConfiguration and MutatingWebhookConfiguration
objects.
items:
$ref:
"#/definitions/io.k8s.api.admissionregistration.v1beta1.RuleWithOperation\
s"
type: array
sideEffects:
description: "SideEffects states whether this webhook has side effects.
Acceptable values are: Unknown, None, Some, NoneOnDryRun Webhooks with
side effects MUST implement a reconciliation system, since a request
may be rejected by a future step in the admission change and the side
effects therefore need to be undone. Requests with the dryRun
attribute will be auto-rejected if they match a webhook with
sideEffects == Unknown or Some. Defaults to Unknown."
type: string
timeoutSeconds:
description:
TimeoutSeconds specifies the timeout for this webhook. After the
timeout passes, the webhook call will be ignored or the API call will
fail based on the failure policy. The timeout value must be between 1
and 30 seconds. Default to 30 seconds.
format: int32
type: integer
required:
- name
- clientConfig
type: object
io.k8s.api.admissionregistration.v1beta1.MutatingWebhookConfiguration:
description: MutatingWebhookConfiguration describes the configuration of and
admission webhook that accept or reject and may change the object.
Deprecated in v1.16, planned for removal in v1.19. Use
admissionregistration.k8s.io/v1 MutatingWebhookConfiguration instead.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object metadata; More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata."
webhooks:
description:
Webhooks is a list of webhooks and the affected resources and
operations.
items:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1beta1.MutatingWebhook"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
type: object
x-kubernetes-group-version-kind:
- group: admissionregistration.k8s.io
kind: MutatingWebhookConfiguration
version: v1beta1
io.k8s.api.admissionregistration.v1beta1.MutatingWebhookConfigurationList:
description: MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of MutatingWebhookConfiguration.
items:
$ref:
"#/definitions/io.k8s.api.admissionregistration.v1beta1.MutatingWebhookCo\
nfiguration"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: admissionregistration.k8s.io
kind: MutatingWebhookConfigurationList
version: v1beta1
io.k8s.api.admissionregistration.v1beta1.RuleWithOperations:
description:
RuleWithOperations is a tuple of Operations and Resources. It is
recommended to make sure that all the tuple expansions are valid.
properties:
apiGroups:
description:
APIGroups is the API groups the resources belong to. '*' is all
groups. If '*' is present, the length of the slice must be one.
Required.
items:
type: string
type: array
apiVersions:
description:
APIVersions is the API versions the resources belong to. '*' is all
versions. If '*' is present, the length of the slice must be one.
Required.
items:
type: string
type: array
operations:
description:
Operations is the operations the admission hook cares about -
CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and
any future admission operations that are added. If '*' is present, the
length of the slice must be one. Required.
items:
type: string
type: array
resources:
description: >-
Resources is a list of resources this rule applies to.
For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.
If wildcard is present, the validation rule will ensure resources do not overlap with each other.
Depending on the enclosing object, subresources might not be allowed. Required.
items:
type: string
type: array
scope:
description:
scope specifies the scope of this rule. Valid values are "Cluster",
"Namespaced", and "*" "Cluster" means that only cluster-scoped
resources will match this rule. Namespace API objects are
cluster-scoped. "Namespaced" means that only namespaced resources will
match this rule. "*" means that there are no scope restrictions.
Subresources match the scope of their parent resource. Default is "*".
type: string
type: object
io.k8s.api.admissionregistration.v1beta1.ServiceReference:
description: ServiceReference holds a reference to Service.legacy.k8s.io
properties:
name:
description: "`name` is the name of the service. Required"
type: string
namespace:
description: "`namespace` is the namespace of the service. Required"
type: string
path:
description:
"`path` is an optional URL path which will be sent in any request
to this service."
type: string
port:
description:
If specified, the port on the service that hosting webhook. Default
to 443 for backward compatibility. `port` should be a valid port
number (1-65535, inclusive).
format: int32
type: integer
required:
- namespace
- name
type: object
io.k8s.api.admissionregistration.v1beta1.ValidatingWebhook:
description:
ValidatingWebhook describes an admission webhook and the resources
and operations it applies to.
properties:
admissionReviewVersions:
description: AdmissionReviewVersions is an ordered list of preferred
`AdmissionReview` versions the Webhook expects. API server will try to
use first version in the list which it supports. If none of the
versions specified in this list supported by API server, validation
will fail for this object. If a persisted webhook configuration
specifies allowed versions and does not include any versions known to
the API Server, calls to the webhook will fail and be subject to the
failure policy. Default to `['v1beta1']`.
items:
type: string
type: array
clientConfig:
$ref:
"#/definitions/io.k8s.api.admissionregistration.v1beta1.WebhookClientConf\
ig"
description: ClientConfig defines how to communicate with the hook. Required
failurePolicy:
description:
FailurePolicy defines how unrecognized errors from the admission
endpoint are handled - allowed values are Ignore or Fail. Defaults to
Ignore.
type: string
matchPolicy:
description: >-
matchPolicy defines how the "rules" list is used to match incoming
requests. Allowed values are "Exact" or "Equivalent".
- Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook.
- Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the webhook.
Defaults to "Exact"
type: string
name:
description:
The name of the admission webhook. Name should be fully qualified,
e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of
the webhook, and kubernetes.io is the name of the organization.
Required.
type: string
namespaceSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description: >-
NamespaceSelector decides whether to run the webhook on an object
based on whether the namespace for that object matches the selector.
If the object itself is a namespace, the matching is performed on
object.metadata.labels. If the object is another cluster scoped
resource, it never skips the webhook.
For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
"matchExpressions": [
{
"key": "runlevel",
"operator": "NotIn",
"values": [
"0",
"1"
]
}
]
}
If instead you want to only run the webhook on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
"matchExpressions": [
{
"key": "environment",
"operator": "In",
"values": [
"prod",
"staging"
]
}
]
}
See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels for more examples of label selectors.
Default to the empty LabelSelector, which matches everything.
objectSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
ObjectSelector decides whether to run the webhook based on if the
object has matching labels. objectSelector is evaluated against both
the oldObject and newObject that would be sent to the webhook, and is
considered to match if either object matches the selector. A null
object (oldObject in the case of create, or newObject in the case of
delete) or an object that cannot have labels (like a
DeploymentRollback or a PodProxyOptions object) is not considered to
match. Use the object selector only if the webhook is opt-in, because
end users may skip the admission webhook by setting the labels.
Default to the empty LabelSelector, which matches everything.
rules:
description:
Rules describes what operations on what resources/subresources the
webhook cares about. The webhook cares about an operation if it
matches _any_ Rule. However, in order to prevent
ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting
the cluster in a state which cannot be recovered from without
completely disabling the plugin, ValidatingAdmissionWebhooks and
MutatingAdmissionWebhooks are never called on admission requests for
ValidatingWebhookConfiguration and MutatingWebhookConfiguration
objects.
items:
$ref:
"#/definitions/io.k8s.api.admissionregistration.v1beta1.RuleWithOperation\
s"
type: array
sideEffects:
description: "SideEffects states whether this webhook has side effects.
Acceptable values are: Unknown, None, Some, NoneOnDryRun Webhooks with
side effects MUST implement a reconciliation system, since a request
may be rejected by a future step in the admission change and the side
effects therefore need to be undone. Requests with the dryRun
attribute will be auto-rejected if they match a webhook with
sideEffects == Unknown or Some. Defaults to Unknown."
type: string
timeoutSeconds:
description:
TimeoutSeconds specifies the timeout for this webhook. After the
timeout passes, the webhook call will be ignored or the API call will
fail based on the failure policy. The timeout value must be between 1
and 30 seconds. Default to 30 seconds.
format: int32
type: integer
required:
- name
- clientConfig
type: object
io.k8s.api.admissionregistration.v1beta1.ValidatingWebhookConfiguration:
description:
ValidatingWebhookConfiguration describes the configuration of and
admission webhook that accept or reject and object without changing it.
Deprecated in v1.16, planned for removal in v1.19. Use
admissionregistration.k8s.io/v1 ValidatingWebhookConfiguration instead.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object metadata; More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata."
webhooks:
description:
Webhooks is a list of webhooks and the affected resources and
operations.
items:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1beta1.ValidatingWebhook"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
type: object
x-kubernetes-group-version-kind:
- group: admissionregistration.k8s.io
kind: ValidatingWebhookConfiguration
version: v1beta1
io.k8s.api.admissionregistration.v1beta1.ValidatingWebhookConfigurationList:
description: ValidatingWebhookConfigurationList is a list of
ValidatingWebhookConfiguration.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of ValidatingWebhookConfiguration.
items:
$ref:
"#/definitions/io.k8s.api.admissionregistration.v1beta1.ValidatingWebhook\
Configuration"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: admissionregistration.k8s.io
kind: ValidatingWebhookConfigurationList
version: v1beta1
io.k8s.api.admissionregistration.v1beta1.WebhookClientConfig:
description: WebhookClientConfig contains the information to make a TLS
connection with the webhook
properties:
caBundle:
description:
"`caBundle` is a PEM encoded CA bundle which will be used to
validate the webhook's server certificate. If unspecified, system
trust roots on the apiserver are used."
format: byte
type: string
service:
$ref: "#/definitions/io.k8s.api.admissionregistration.v1beta1.ServiceReference"
description: >-
`service` is a reference to the service for this webhook. Either
`service` or `url` must be specified.
If the webhook is running within the cluster, then you should use `service`.
url:
description: >-
`url` gives the location of the webhook, in standard URL form
(`scheme://host:port/path`). Exactly one of `url` or `service` must be
specified.
The `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.
Please note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.
The scheme must be "https"; the URL must begin with "https://".
A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.
Attempting to use a user or basic auth e.g. "user:password@" is not allowed. Fragments ("#...") and query parameters ("?...") are not allowed, either.
type: string
type: object
io.k8s.api.apiserverinternal.v1alpha1.ServerStorageVersion:
description:
An API server instance reports the version it can decode and the
version it encodes objects to when persisting objects in the backend.
properties:
apiServerID:
description: The ID of the reporting API server.
type: string
decodableVersions:
description:
The API server can decode objects encoded in these versions. The
encodingVersion must be included in the decodableVersions.
items:
type: string
type: array
x-kubernetes-list-type: set
encodingVersion:
description:
The API server encodes the object to this version when persisting
it in the backend (e.g., etcd).
type: string
type: object
io.k8s.api.apiserverinternal.v1alpha1.StorageVersion:
description: |2-
Storage version of a specific resource.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: The name is <group>.<resource>.
spec:
$ref: "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionSpec"
description: Spec is an empty spec. It is here to comply with Kubernetes API style.
status:
$ref: "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionStatus"
description:
API server instances report the version they can decode and the
version they encode objects to when persisting objects in the backend.
required:
- spec
- status
type: object
x-kubernetes-group-version-kind:
- group: internal.apiserver.k8s.io
kind: StorageVersion
version: v1alpha1
io.k8s.api.apiserverinternal.v1alpha1.StorageVersionCondition:
description: Describes the state of the storageVersion at a certain point.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition transitioned from one status to another.
message:
description: A human readable message indicating details about the transition.
type: string
observedGeneration:
description:
If set, this represents the .metadata.generation that the condition
was set based upon.
format: int64
type: integer
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of the condition.
type: string
required:
- type
- status
- reason
type: object
io.k8s.api.apiserverinternal.v1alpha1.StorageVersionList:
description: A list of StorageVersions.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
items:
$ref: "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersion"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: internal.apiserver.k8s.io
kind: StorageVersionList
version: v1alpha1
io.k8s.api.apiserverinternal.v1alpha1.StorageVersionSpec:
description: StorageVersionSpec is an empty spec.
type: object
io.k8s.api.apiserverinternal.v1alpha1.StorageVersionStatus:
description:
API server instances report the versions they can decode and the
version they encode objects to when persisting objects in the backend.
properties:
commonEncodingVersion:
description:
If all API server instances agree on the same encoding storage
version, then this field is set to that version. Otherwise this field
is left empty. API servers should finish updating its
storageVersionStatus entry before serving write operations, so that
this field will be in sync with the reality.
type: string
conditions:
description: The latest available observations of the storageVersion's state.
items:
$ref:
"#/definitions/io.k8s.api.apiserverinternal.v1alpha1.StorageVersionCondit\
ion"
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
storageVersions:
description: The reported versions per API server instance.
items:
$ref: "#/definitions/io.k8s.api.apiserverinternal.v1alpha1.ServerStorageVersion"
type: array
x-kubernetes-list-map-keys:
- apiServerID
x-kubernetes-list-type: map
type: object
io.k8s.api.apps.v1.ControllerRevision:
description:
ControllerRevision implements an immutable snapshot of state data.
Clients are responsible for serializing and deserializing the objects that
contain their internal state. Once a ControllerRevision has been
successfully created, it can not be updated. The API Server will fail
validation of all requests that attempt to mutate the Data field.
ControllerRevisions may, however, be deleted. Note that, due to its use by
both the DaemonSet and StatefulSet controllers for update and rollback,
this object is beta. However, it may be subject to name and representation
changes in future releases, and clients should not depend on its
stability. It is primarily for internal use by controllers.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
data:
$ref: "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension"
description: Data is the serialized representation of the state.
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
revision:
description: Revision indicates the revision of the state represented by Data.
format: int64
type: integer
required:
- revision
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: ControllerRevision
version: v1
io.k8s.api.apps.v1.ControllerRevisionList:
description: ControllerRevisionList is a resource containing a list of
ControllerRevision objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is the list of ControllerRevisions
items:
$ref: "#/definitions/io.k8s.api.apps.v1.ControllerRevision"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: ControllerRevisionList
version: v1
io.k8s.api.apps.v1.DaemonSet:
description: DaemonSet represents the configuration of a daemon set.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.apps.v1.DaemonSetSpec"
description: "The desired behavior of this daemon set. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.apps.v1.DaemonSetStatus"
description:
"The current status of this daemon set. This data may be out of
date by some window of time. Populated by the system. Read-only. More
info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: DaemonSet
version: v1
io.k8s.api.apps.v1.DaemonSetCondition:
description: DaemonSetCondition describes the state of a DaemonSet at a certain point.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition transitioned from one status to another.
message:
description: A human readable message indicating details about the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of DaemonSet condition.
type: string
required:
- type
- status
type: object
io.k8s.api.apps.v1.DaemonSetList:
description: DaemonSetList is a collection of daemon sets.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: A list of daemon sets.
items:
$ref: "#/definitions/io.k8s.api.apps.v1.DaemonSet"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: DaemonSetList
version: v1
io.k8s.api.apps.v1.DaemonSetSpec:
description: DaemonSetSpec is the specification of a daemon set.
properties:
minReadySeconds:
description:
The minimum number of seconds for which a newly created DaemonSet
pod should be ready without any of its container crashing, for it to
be considered available. Defaults to 0 (pod will be considered
available as soon as it is ready).
format: int32
type: integer
revisionHistoryLimit:
description:
The number of old history to retain to allow rollback. This is a
pointer to distinguish between explicit zero and not specified.
Defaults to 10.
format: int32
type: integer
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
"A label query over pods that are managed by the daemon set. Must
match in order to be controlled. It must match the pod template's
labels. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/lab\
els/#label-selectors"
template:
$ref: "#/definitions/io.k8s.api.core.v1.PodTemplateSpec"
description: "An object that describes the pod that will be created. The
DaemonSet will create exactly one copy of this pod on every node that
matches the template's node selector (or on every node if no node
selector is specified). More info:
https://kubernetes.io/docs/concepts/workloads/controllers/replication\
controller#pod-template"
updateStrategy:
$ref: "#/definitions/io.k8s.api.apps.v1.DaemonSetUpdateStrategy"
description: An update strategy to replace existing DaemonSet pods with new pods.
required:
- selector
- template
type: object
io.k8s.api.apps.v1.DaemonSetStatus:
description: DaemonSetStatus represents the current status of a daemon set.
properties:
collisionCount:
description: Count of hash collisions for the DaemonSet. The DaemonSet
controller uses this field as a collision avoidance mechanism when it
needs to create the name for the newest ControllerRevision.
format: int32
type: integer
conditions:
description:
Represents the latest available observations of a DaemonSet's
current state.
items:
$ref: "#/definitions/io.k8s.api.apps.v1.DaemonSetCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
currentNumberScheduled:
description:
"The number of nodes that are running at least 1 daemon pod and are
supposed to run the daemon pod. More info:
https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/"
format: int32
type: integer
desiredNumberScheduled:
description:
"The total number of nodes that should be running the daemon pod
(including nodes correctly running the daemon pod). More info:
https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/"
format: int32
type: integer
numberAvailable:
description:
The number of nodes that should be running the daemon pod and have
one or more of the daemon pod running and available (ready for at
least spec.minReadySeconds)
format: int32
type: integer
numberMisscheduled:
description:
"The number of nodes that are running the daemon pod, but are not
supposed to run the daemon pod. More info:
https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/"
format: int32
type: integer
numberReady:
description:
The number of nodes that should be running the daemon pod and have
one or more of the daemon pod running and ready.
format: int32
type: integer
numberUnavailable:
description:
The number of nodes that should be running the daemon pod and have
none of the daemon pod running and available (ready for at least
spec.minReadySeconds)
format: int32
type: integer
observedGeneration:
description: The most recent generation observed by the daemon set controller.
format: int64
type: integer
updatedNumberScheduled:
description: The total number of nodes that are running updated daemon pod
format: int32
type: integer
required:
- currentNumberScheduled
- numberMisscheduled
- desiredNumberScheduled
- numberReady
type: object
io.k8s.api.apps.v1.DaemonSetUpdateStrategy:
description: DaemonSetUpdateStrategy is a struct used to control the update
strategy for a DaemonSet.
properties:
rollingUpdate:
$ref: "#/definitions/io.k8s.api.apps.v1.RollingUpdateDaemonSet"
description: Rolling update config params. Present only if type = "RollingUpdate".
type:
description:
Type of daemon set update. Can be "RollingUpdate" or "OnDelete".
Default is RollingUpdate.
type: string
type: object
io.k8s.api.apps.v1.Deployment:
description: Deployment enables declarative updates for Pods and ReplicaSets.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: Standard object metadata.
spec:
$ref: "#/definitions/io.k8s.api.apps.v1.DeploymentSpec"
description: Specification of the desired behavior of the Deployment.
status:
$ref: "#/definitions/io.k8s.api.apps.v1.DeploymentStatus"
description: Most recently observed status of the Deployment.
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: Deployment
version: v1
io.k8s.api.apps.v1.DeploymentCondition:
description: DeploymentCondition describes the state of a deployment at a certain point.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition transitioned from one status to another.
lastUpdateTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: The last time this condition was updated.
message:
description: A human readable message indicating details about the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of deployment condition.
type: string
required:
- type
- status
type: object
io.k8s.api.apps.v1.DeploymentList:
description: DeploymentList is a list of Deployments.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is the list of Deployments.
items:
$ref: "#/definitions/io.k8s.api.apps.v1.Deployment"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: Standard list metadata.
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: DeploymentList
version: v1
io.k8s.api.apps.v1.DeploymentSpec:
description:
DeploymentSpec is the specification of the desired behavior of the
Deployment.
properties:
minReadySeconds:
description:
Minimum number of seconds for which a newly created pod should be
ready without any of its container crashing, for it to be considered
available. Defaults to 0 (pod will be considered available as soon as
it is ready)
format: int32
type: integer
paused:
description: Indicates that the deployment is paused.
type: boolean
progressDeadlineSeconds:
description:
The maximum time in seconds for a deployment to make progress
before it is considered to be failed. The deployment controller will
continue to process failed deployments and a condition with a
ProgressDeadlineExceeded reason will be surfaced in the deployment
status. Note that progress will not be estimated during the time a
deployment is paused. Defaults to 600s.
format: int32
type: integer
replicas:
description:
Number of desired pods. This is a pointer to distinguish between
explicit zero and not specified. Defaults to 1.
format: int32
type: integer
revisionHistoryLimit:
description:
The number of old ReplicaSets to retain to allow rollback. This is
a pointer to distinguish between explicit zero and not specified.
Defaults to 10.
format: int32
type: integer
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
Label selector for pods. Existing ReplicaSets whose pods are
selected by this will be the ones affected by this deployment. It must
match the pod template's labels.
strategy:
$ref: "#/definitions/io.k8s.api.apps.v1.DeploymentStrategy"
description: The deployment strategy to use to replace existing pods with new ones.
x-kubernetes-patch-strategy: retainKeys
template:
$ref: "#/definitions/io.k8s.api.core.v1.PodTemplateSpec"
description: Template describes the pods that will be created.
required:
- selector
- template
type: object
io.k8s.api.apps.v1.DeploymentStatus:
description: DeploymentStatus is the most recently observed status of the Deployment.
properties:
availableReplicas:
description:
Total number of available pods (ready for at least minReadySeconds)
targeted by this deployment.
format: int32
type: integer
collisionCount:
description: Count of hash collisions for the Deployment. The Deployment
controller uses this field as a collision avoidance mechanism when it
needs to create the name for the newest ReplicaSet.
format: int32
type: integer
conditions:
description:
Represents the latest available observations of a deployment's
current state.
items:
$ref: "#/definitions/io.k8s.api.apps.v1.DeploymentCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
observedGeneration:
description: The generation observed by the deployment controller.
format: int64
type: integer
readyReplicas:
description: Total number of ready pods targeted by this deployment.
format: int32
type: integer
replicas:
description:
Total number of non-terminated pods targeted by this deployment
(their labels match the selector).
format: int32
type: integer
unavailableReplicas:
description:
Total number of unavailable pods targeted by this deployment. This
is the total number of pods that are still required for the deployment
to have 100% available capacity. They may either be pods that are
running but not yet available or pods that still have not been
created.
format: int32
type: integer
updatedReplicas:
description:
Total number of non-terminated pods targeted by this deployment
that have the desired template spec.
format: int32
type: integer
type: object
io.k8s.api.apps.v1.DeploymentStrategy:
description: DeploymentStrategy describes how to replace existing pods with new ones.
properties:
rollingUpdate:
$ref: "#/definitions/io.k8s.api.apps.v1.RollingUpdateDeployment"
description: Rolling update config params. Present only if
DeploymentStrategyType = RollingUpdate.
type:
description:
Type of deployment. Can be "Recreate" or "RollingUpdate". Default
is RollingUpdate.
type: string
type: object
io.k8s.api.apps.v1.ReplicaSet:
description: ReplicaSet ensures that a specified number of pod replicas are
running at any given time.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description:
"If the Labels of a ReplicaSet are empty, they are defaulted to be
the same as the Pod(s) that the ReplicaSet manages. Standard object's
metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.apps.v1.ReplicaSetSpec"
description:
"Spec defines the specification of the desired behavior of the
ReplicaSet. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.apps.v1.ReplicaSetStatus"
description:
"Status is the most recently observed status of the ReplicaSet.
This data may be out of date by some window of time. Populated by the
system. Read-only. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: ReplicaSet
version: v1
io.k8s.api.apps.v1.ReplicaSetCondition:
description: ReplicaSetCondition describes the state of a replica set at a
certain point.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: The last time the condition transitioned from one status to another.
message:
description: A human readable message indicating details about the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of replica set condition.
type: string
required:
- type
- status
type: object
io.k8s.api.apps.v1.ReplicaSetList:
description: ReplicaSetList is a collection of ReplicaSets.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "List of ReplicaSets. More info:
https://kubernetes.io/docs/concepts/workloads/controllers/replication\
controller"
items:
$ref: "#/definitions/io.k8s.api.apps.v1.ReplicaSet"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: ReplicaSetList
version: v1
io.k8s.api.apps.v1.ReplicaSetSpec:
description: ReplicaSetSpec is the specification of a ReplicaSet.
properties:
minReadySeconds:
description:
Minimum number of seconds for which a newly created pod should be
ready without any of its container crashing, for it to be considered
available. Defaults to 0 (pod will be considered available as soon as
it is ready)
format: int32
type: integer
replicas:
description:
"Replicas is the number of desired replicas. This is a pointer to
distinguish between explicit zero and unspecified. Defaults to 1. More
info:
https://kubernetes.io/docs/concepts/workloads/controllers/replication\
controller/#what-is-a-replicationcontroller"
format: int32
type: integer
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
"Selector is a label query over pods that should match the replica
count. Label keys and values that must match in order to be controlled
by this replica set. It must match the pod template's labels. More
info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/lab\
els/#label-selectors"
template:
$ref: "#/definitions/io.k8s.api.core.v1.PodTemplateSpec"
description:
"Template is the object that describes the pod that will be created
if insufficient replicas are detected. More info:
https://kubernetes.io/docs/concepts/workloads/controllers/replication\
controller#pod-template"
required:
- selector
type: object
io.k8s.api.apps.v1.ReplicaSetStatus:
description: ReplicaSetStatus represents the current status of a ReplicaSet.
properties:
availableReplicas:
description: The number of available replicas (ready for at least
minReadySeconds) for this replica set.
format: int32
type: integer
conditions:
description:
Represents the latest available observations of a replica set's
current state.
items:
$ref: "#/definitions/io.k8s.api.apps.v1.ReplicaSetCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
fullyLabeledReplicas:
description:
The number of pods that have labels matching the labels of the pod
template of the replicaset.
format: int32
type: integer
observedGeneration:
description:
ObservedGeneration reflects the generation of the most recently
observed ReplicaSet.
format: int64
type: integer
readyReplicas:
description: The number of ready replicas for this replica set.
format: int32
type: integer
replicas:
description:
"Replicas is the most recently oberved number of replicas. More
info:
https://kubernetes.io/docs/concepts/workloads/controllers/replication\
controller/#what-is-a-replicationcontroller"
format: int32
type: integer
required:
- replicas
type: object
io.k8s.api.apps.v1.RollingUpdateDaemonSet:
description: Spec to control the desired behavior of daemon set rolling update.
properties:
maxUnavailable:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description:
"The maximum number of DaemonSet pods that can be unavailable
during the update. Value can be an absolute number (ex: 5) or a
percentage of total number of DaemonSet pods at the start of the
update (ex: 10%). Absolute number is calculated from percentage by
rounding up. This cannot be 0. Default value is 1. Example: when this
is set to 30%, at most 30% of the total number of nodes that should be
running the daemon pod (i.e. status.desiredNumberScheduled) can have
their pods stopped for an update at any given time. The update starts
by stopping at most 30% of those DaemonSet pods and then brings up new
DaemonSet pods in their place. Once the new pods are available, it
then proceeds onto other DaemonSet pods, thus ensuring that at least
70% of original number of DaemonSet pods are available at all times
during the update."
type: object
io.k8s.api.apps.v1.RollingUpdateDeployment:
description: Spec to control the desired behavior of rolling update.
properties:
maxSurge:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description:
"The maximum number of pods that can be scheduled above the desired
number of pods. Value can be an absolute number (ex: 5) or a
percentage of desired pods (ex: 10%). This can not be 0 if
MaxUnavailable is 0. Absolute number is calculated from percentage by
rounding up. Defaults to 25%. Example: when this is set to 30%, the
new ReplicaSet can be scaled up immediately when the rolling update
starts, such that the total number of old and new pods do not exceed
130% of desired pods. Once old pods have been killed, new ReplicaSet
can be scaled up further, ensuring that total number of pods running
at any time during the update is at most 130% of desired pods."
maxUnavailable:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description:
"The maximum number of pods that can be unavailable during the
update. Value can be an absolute number (ex: 5) or a percentage of
desired pods (ex: 10%). Absolute number is calculated from percentage
by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%.
Example: when this is set to 30%, the old ReplicaSet can be scaled
down to 70% of desired pods immediately when the rolling update
starts. Once new pods are ready, old ReplicaSet can be scaled down
further, followed by scaling up the new ReplicaSet, ensuring that the
total number of pods available at all times during the update is at
least 70% of desired pods."
type: object
io.k8s.api.apps.v1.RollingUpdateStatefulSetStrategy:
description:
RollingUpdateStatefulSetStrategy is used to communicate parameter
for RollingUpdateStatefulSetStrategyType.
properties:
partition:
description:
Partition indicates the ordinal at which the StatefulSet should be
partitioned. Default value is 0.
format: int32
type: integer
type: object
io.k8s.api.apps.v1.StatefulSet:
description: >-
StatefulSet represents a set of pods with consistent identities.
Identities are defined as:
- Network: A single stable DNS and hostname.
- Storage: As many VolumeClaims as requested.
The StatefulSet guarantees that a given network identity will always map to the same storage identity.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.apps.v1.StatefulSetSpec"
description: Spec defines the desired identities of pods in this set.
status:
$ref: "#/definitions/io.k8s.api.apps.v1.StatefulSetStatus"
description:
Status is the current status of Pods in this StatefulSet. This data
may be out of date by some window of time.
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: StatefulSet
version: v1
io.k8s.api.apps.v1.StatefulSetCondition:
description: StatefulSetCondition describes the state of a statefulset at a
certain point.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition transitioned from one status to another.
message:
description: A human readable message indicating details about the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of statefulset condition.
type: string
required:
- type
- status
type: object
io.k8s.api.apps.v1.StatefulSetList:
description: StatefulSetList is a collection of StatefulSets.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
items:
$ref: "#/definitions/io.k8s.api.apps.v1.StatefulSet"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: apps
kind: StatefulSetList
version: v1
io.k8s.api.apps.v1.StatefulSetSpec:
description: A StatefulSetSpec is the specification of a StatefulSet.
properties:
podManagementPolicy:
description:
podManagementPolicy controls how pods are created during initial
scale up, when replacing pods on nodes, or when scaling down. The
default policy is `OrderedReady`, where pods are created in increasing
order (pod-0, then pod-1, etc) and the controller will wait until each
pod is ready before continuing. When scaling down, the pods are
removed in the opposite order. The alternative policy is `Parallel`
which will create pods in parallel to match the desired scale without
waiting, and on scale down will delete all pods at once.
type: string
replicas:
description:
replicas is the desired number of replicas of the given Template.
These are replicas in the sense that they are instantiations of the
same Template, but individual replicas also have a consistent
identity. If unspecified, defaults to 1.
format: int32
type: integer
revisionHistoryLimit:
description:
revisionHistoryLimit is the maximum number of revisions that will
be maintained in the StatefulSet's revision history. The revision
history consists of all revisions not represented by a currently
applied StatefulSetSpec version. The default value is 10.
format: int32
type: integer
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
"selector is a label query over pods that should match the replica
count. It must match the pod template's labels. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/lab\
els/#label-selectors"
serviceName:
description: 'serviceName is the name of the service that governs this
StatefulSet. This service must exist before the StatefulSet, and is
responsible for the network identity of the set. Pods get
DNS/hostnames that follow the pattern:
pod-specific-string.serviceName.default.svc.cluster.local where
"pod-specific-string" is managed by the StatefulSet controller.'
type: string
template:
$ref: "#/definitions/io.k8s.api.core.v1.PodTemplateSpec"
description:
template is the object that describes the pod that will be created
if insufficient replicas are detected. Each pod stamped out by the
StatefulSet will fulfill this Template, but have a unique identity
from the rest of the StatefulSet.
updateStrategy:
$ref: "#/definitions/io.k8s.api.apps.v1.StatefulSetUpdateStrategy"
description:
updateStrategy indicates the StatefulSetUpdateStrategy that will be
employed to update Pods in the StatefulSet when a revision is made to
Template.
volumeClaimTemplates:
description:
volumeClaimTemplates is a list of claims that pods are allowed to
reference. The StatefulSet controller is responsible for mapping
network identities to claims in a way that maintains the identity of a
pod. Every claim in this list must have at least one matching (by
name) volumeMount in one container in the template. A claim in this
list takes precedence over any volumes in the template, with the same
name.
items:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim"
type: array
required:
- selector
- template
- serviceName
type: object
io.k8s.api.apps.v1.StatefulSetStatus:
description: StatefulSetStatus represents the current state of a StatefulSet.
properties:
collisionCount:
description:
collisionCount is the count of hash collisions for the StatefulSet.
The StatefulSet controller uses this field as a collision avoidance
mechanism when it needs to create the name for the newest
ControllerRevision.
format: int32
type: integer
conditions:
description:
Represents the latest available observations of a statefulset's
current state.
items:
$ref: "#/definitions/io.k8s.api.apps.v1.StatefulSetCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
currentReplicas:
description:
currentReplicas is the number of Pods created by the StatefulSet
controller from the StatefulSet version indicated by currentRevision.
format: int32
type: integer
currentRevision:
description: currentRevision, if not empty, indicates the version of the
StatefulSet used to generate Pods in the sequence [0,currentReplicas).
type: string
observedGeneration:
description:
observedGeneration is the most recent generation observed for this
StatefulSet. It corresponds to the StatefulSet's generation, which is
updated on mutation by the API Server.
format: int64
type: integer
readyReplicas:
description:
readyReplicas is the number of Pods created by the StatefulSet
controller that have a Ready Condition.
format: int32
type: integer
replicas:
description: replicas is the number of Pods created by the StatefulSet controller.
format: int32
type: integer
updateRevision:
description: updateRevision, if not empty, indicates the version of the
StatefulSet used to generate Pods in the sequence
[replicas-updatedReplicas,replicas)
type: string
updatedReplicas:
description:
updatedReplicas is the number of Pods created by the StatefulSet
controller from the StatefulSet version indicated by updateRevision.
format: int32
type: integer
required:
- replicas
type: object
io.k8s.api.apps.v1.StatefulSetUpdateStrategy:
description: StatefulSetUpdateStrategy indicates the strategy that the
StatefulSet controller will use to perform updates. It includes any
additional parameters necessary to perform the update for the indicated
strategy.
properties:
rollingUpdate:
$ref: "#/definitions/io.k8s.api.apps.v1.RollingUpdateStatefulSetStrategy"
description:
RollingUpdate is used to communicate parameters when Type is
RollingUpdateStatefulSetStrategyType.
type:
description:
Type indicates the type of the StatefulSetUpdateStrategy. Default
is RollingUpdate.
type: string
type: object
io.k8s.api.authentication.v1.BoundObjectReference:
description: BoundObjectReference is a reference to an object that a token is bound to.
properties:
apiVersion:
description: API version of the referent.
type: string
kind:
description: Kind of the referent. Valid kinds are 'Pod' and 'Secret'.
type: string
name:
description: Name of the referent.
type: string
uid:
description: UID of the referent.
type: string
type: object
io.k8s.api.authentication.v1.TokenRequest:
description: TokenRequest requests a token for a given service account.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.authentication.v1.TokenRequestSpec"
status:
$ref: "#/definitions/io.k8s.api.authentication.v1.TokenRequestStatus"
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authentication.k8s.io
kind: TokenRequest
version: v1
io.k8s.api.authentication.v1.TokenRequestSpec:
description: TokenRequestSpec contains client provided parameters of a token request.
properties:
audiences:
description:
Audiences are the intendend audiences of the token. A recipient of
a token must identitfy themself with an identifier in the list of
audiences of the token, and otherwise should reject the token. A token
issued for multiple audiences may be used to authenticate against any
of the audiences listed but implies a high degree of trust between the
target audiences.
items:
type: string
type: array
boundObjectRef:
$ref: "#/definitions/io.k8s.api.authentication.v1.BoundObjectReference"
description:
"BoundObjectRef is a reference to an object that the token will be
bound to. The token will only be valid for as long as the bound object
exists. NOTE: The API server's TokenReview endpoint will validate the
BoundObjectRef, but other audiences may not. Keep ExpirationSeconds
small if you want prompt revocation."
expirationSeconds:
description:
ExpirationSeconds is the requested duration of validity of the
request. The token issuer may return a token with a different validity
duration so a client needs to check the 'expiration' field in a
response.
format: int64
type: integer
required:
- audiences
type: object
io.k8s.api.authentication.v1.TokenRequestStatus:
description: TokenRequestStatus is the result of a token request.
properties:
expirationTimestamp:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: ExpirationTimestamp is the time of expiration of the returned token.
token:
description: Token is the opaque bearer token.
type: string
required:
- token
- expirationTimestamp
type: object
io.k8s.api.authentication.v1.TokenReview:
description: "TokenReview attempts to authenticate a token to a known user.
Note: TokenReview requests may be cached by the webhook token
authenticator plugin in the kube-apiserver."
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.authentication.v1.TokenReviewSpec"
description: Spec holds information about the request being evaluated
status:
$ref: "#/definitions/io.k8s.api.authentication.v1.TokenReviewStatus"
description:
Status is filled in by the server and indicates whether the request
can be authenticated.
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authentication.k8s.io
kind: TokenReview
version: v1
io.k8s.api.authentication.v1.TokenReviewSpec:
description: TokenReviewSpec is a description of the token authentication request.
properties:
audiences:
description:
Audiences is a list of the identifiers that the resource server
presented with the token identifies as. Audience-aware token
authenticators will verify that the token was intended for at least
one of the audiences in this list. If no audiences are provided, the
audience will default to the audience of the Kubernetes apiserver.
items:
type: string
type: array
token:
description: Token is the opaque bearer token.
type: string
type: object
io.k8s.api.authentication.v1.TokenReviewStatus:
description: TokenReviewStatus is the result of the token authentication request.
properties:
audiences:
description:
Audiences are audience identifiers chosen by the authenticator that
are compatible with both the TokenReview and token. An identifier is
any identifier in the intersection of the TokenReviewSpec audiences
and the token's audiences. A client of the TokenReview API that sets
the spec.audiences field should validate that a compatible audience
identifier is returned in the status.audiences field to ensure that
the TokenReview server is audience aware. If a TokenReview returns an
empty status.audience field where status.authenticated is "true", the
token is valid against the audience of the Kubernetes API server.
items:
type: string
type: array
authenticated:
description:
Authenticated indicates that the token was associated with a known
user.
type: boolean
error:
description: Error indicates that the token couldn't be checked
type: string
user:
$ref: "#/definitions/io.k8s.api.authentication.v1.UserInfo"
description: User is the UserInfo associated with the provided token.
type: object
io.k8s.api.authentication.v1.UserInfo:
description:
UserInfo holds the information about the user needed to implement
the user.Info interface.
properties:
extra:
additionalProperties:
items:
type: string
type: array
description: Any additional information provided by the authenticator.
type: object
groups:
description: The names of groups this user is a part of.
items:
type: string
type: array
uid:
description:
A unique value that identifies this user across time. If this user
is deleted and another user by the same name is added, they will have
different UIDs.
type: string
username:
description: The name that uniquely identifies this user among all active users.
type: string
type: object
io.k8s.api.authentication.v1beta1.TokenReview:
description: "TokenReview attempts to authenticate a token to a known user.
Note: TokenReview requests may be cached by the webhook token
authenticator plugin in the kube-apiserver."
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.authentication.v1beta1.TokenReviewSpec"
description: Spec holds information about the request being evaluated
status:
$ref: "#/definitions/io.k8s.api.authentication.v1beta1.TokenReviewStatus"
description:
Status is filled in by the server and indicates whether the request
can be authenticated.
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authentication.k8s.io
kind: TokenReview
version: v1beta1
io.k8s.api.authentication.v1beta1.TokenReviewSpec:
description: TokenReviewSpec is a description of the token authentication request.
properties:
audiences:
description:
Audiences is a list of the identifiers that the resource server
presented with the token identifies as. Audience-aware token
authenticators will verify that the token was intended for at least
one of the audiences in this list. If no audiences are provided, the
audience will default to the audience of the Kubernetes apiserver.
items:
type: string
type: array
token:
description: Token is the opaque bearer token.
type: string
type: object
io.k8s.api.authentication.v1beta1.TokenReviewStatus:
description: TokenReviewStatus is the result of the token authentication request.
properties:
audiences:
description:
Audiences are audience identifiers chosen by the authenticator that
are compatible with both the TokenReview and token. An identifier is
any identifier in the intersection of the TokenReviewSpec audiences
and the token's audiences. A client of the TokenReview API that sets
the spec.audiences field should validate that a compatible audience
identifier is returned in the status.audiences field to ensure that
the TokenReview server is audience aware. If a TokenReview returns an
empty status.audience field where status.authenticated is "true", the
token is valid against the audience of the Kubernetes API server.
items:
type: string
type: array
authenticated:
description:
Authenticated indicates that the token was associated with a known
user.
type: boolean
error:
description: Error indicates that the token couldn't be checked
type: string
user:
$ref: "#/definitions/io.k8s.api.authentication.v1beta1.UserInfo"
description: User is the UserInfo associated with the provided token.
type: object
io.k8s.api.authentication.v1beta1.UserInfo:
description:
UserInfo holds the information about the user needed to implement
the user.Info interface.
properties:
extra:
additionalProperties:
items:
type: string
type: array
description: Any additional information provided by the authenticator.
type: object
groups:
description: The names of groups this user is a part of.
items:
type: string
type: array
uid:
description:
A unique value that identifies this user across time. If this user
is deleted and another user by the same name is added, they will have
different UIDs.
type: string
username:
description: The name that uniquely identifies this user among all active users.
type: string
type: object
io.k8s.api.authorization.v1.LocalSubjectAccessReview:
description:
LocalSubjectAccessReview checks whether or not a user or group can
perform an action in a given namespace. Having a namespace scoped resource
makes it much easier to grant namespace scoped policy that includes
permissions checking.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReviewSpec"
description: Spec holds information about the request being
evaluated. spec.namespace must be equal to the namespace you made the
request against. If empty, it is defaulted.
status:
$ref: "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReviewStatus"
description:
Status is filled in by the server and indicates whether the request
is allowed or not
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authorization.k8s.io
kind: LocalSubjectAccessReview
version: v1
io.k8s.api.authorization.v1.NonResourceAttributes:
description: NonResourceAttributes includes the authorization attributes
available for non-resource requests to the Authorizer interface
properties:
path:
description: Path is the URL path of the request
type: string
verb:
description: Verb is the standard HTTP verb
type: string
type: object
io.k8s.api.authorization.v1.NonResourceRule:
description: NonResourceRule holds information that describes a rule for the
non-resource
properties:
nonResourceURLs:
description:
NonResourceURLs is a set of partial urls that a user should have
access to. *s are allowed, but only as the full, final step in the
path. "*" means all.
items:
type: string
type: array
verbs:
description:
'Verb is a list of kubernetes non-resource API verbs, like: get,
post, put, delete, patch, head, options. "*" means all.'
items:
type: string
type: array
required:
- verbs
type: object
io.k8s.api.authorization.v1.ResourceAttributes:
description:
ResourceAttributes includes the authorization attributes available
for resource requests to the Authorizer interface
properties:
group:
description: Group is the API Group of the Resource. "*" means all.
type: string
name:
description:
Name is the name of the resource being requested for a "get" or
deleted for a "delete". "" (empty) means all.
type: string
namespace:
description: Namespace is the namespace of the action being
requested. Currently, there is no distinction between no namespace
and all namespaces "" (empty) is defaulted for
LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped
resources "" (empty) means "all" for namespace scoped resources from a
SubjectAccessReview or SelfSubjectAccessReview
type: string
resource:
description: Resource is one of the existing resource types. "*" means all.
type: string
subresource:
description: Subresource is one of the existing resource types. "" means none.
type: string
verb:
description:
'Verb is a kubernetes resource API verb, like: get, list, watch,
create, update, delete, proxy. "*" means all.'
type: string
version:
description: Version is the API Version of the Resource. "*" means all.
type: string
type: object
io.k8s.api.authorization.v1.ResourceRule:
description: ResourceRule is the list of actions the subject is allowed to
perform on resources. The list ordering isn't significant, may contain
duplicates, and possibly be incomplete.
properties:
apiGroups:
description: APIGroups is the name of the APIGroup that contains the
resources. If multiple API groups are specified, any action requested
against one of the enumerated resources in any API group will be
allowed. "*" means all.
items:
type: string
type: array
resourceNames:
description:
ResourceNames is an optional white list of names that the rule
applies to. An empty set means that everything is allowed. "*" means
all.
items:
type: string
type: array
resources:
description: >-
Resources is a list of resources this rule applies to. "*" means all
in the specified apiGroups.
"*/foo" represents the subresource 'foo' for all resources in the specified apiGroups.
items:
type: string
type: array
verbs:
description:
'Verb is a list of kubernetes resource API verbs, like: get, list,
watch, create, update, delete, proxy. "*" means all.'
items:
type: string
type: array
required:
- verbs
type: object
io.k8s.api.authorization.v1.SelfSubjectAccessReview:
description: SelfSubjectAccessReview checks whether or the current user can
perform an action. Not filling in a spec.namespace means "in all
namespaces". Self is a special case, because users should always be able
to check whether they can perform an action
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.authorization.v1.SelfSubjectAccessReviewSpec"
description:
Spec holds information about the request being evaluated. user and
groups must be empty
status:
$ref: "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReviewStatus"
description:
Status is filled in by the server and indicates whether the request
is allowed or not
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authorization.k8s.io
kind: SelfSubjectAccessReview
version: v1
io.k8s.api.authorization.v1.SelfSubjectAccessReviewSpec:
description: SelfSubjectAccessReviewSpec is a description of the access
request. Exactly one of ResourceAuthorizationAttributes and
NonResourceAuthorizationAttributes must be set
properties:
nonResourceAttributes:
$ref: "#/definitions/io.k8s.api.authorization.v1.NonResourceAttributes"
description:
NonResourceAttributes describes information for a non-resource
access request
resourceAttributes:
$ref: "#/definitions/io.k8s.api.authorization.v1.ResourceAttributes"
description: ResourceAuthorizationAttributes describes information for a
resource access request
type: object
io.k8s.api.authorization.v1.SelfSubjectRulesReview:
description:
SelfSubjectRulesReview enumerates the set of actions the current
user can perform within a namespace. The returned list of actions may be
incomplete depending on the server's authorization mode, and any errors
experienced during the evaluation. SelfSubjectRulesReview should be used
by UIs to show/hide actions, or to quickly let an end user reason about
their permissions. It should NOT Be used by external systems to drive
authorization decisions as this raises confused deputy, cache
lifetime/revocation, and correctness concerns. SubjectAccessReview, and
LocalAccessReview are the correct way to defer authorization decisions to
the API server.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.authorization.v1.SelfSubjectRulesReviewSpec"
description: Spec holds information about the request being evaluated.
status:
$ref: "#/definitions/io.k8s.api.authorization.v1.SubjectRulesReviewStatus"
description:
Status is filled in by the server and indicates the set of actions
a user can perform.
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authorization.k8s.io
kind: SelfSubjectRulesReview
version: v1
io.k8s.api.authorization.v1.SelfSubjectRulesReviewSpec:
properties:
namespace:
description: Namespace to evaluate rules for. Required.
type: string
type: object
io.k8s.api.authorization.v1.SubjectAccessReview:
description: SubjectAccessReview checks whether or not a user or group can
perform an action.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReviewSpec"
description: Spec holds information about the request being evaluated
status:
$ref: "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReviewStatus"
description:
Status is filled in by the server and indicates whether the request
is allowed or not
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authorization.k8s.io
kind: SubjectAccessReview
version: v1
io.k8s.api.authorization.v1.SubjectAccessReviewSpec:
description: SubjectAccessReviewSpec is a description of the access
request. Exactly one of ResourceAuthorizationAttributes and
NonResourceAuthorizationAttributes must be set
properties:
extra:
additionalProperties:
items:
type: string
type: array
description:
Extra corresponds to the user.Info.GetExtra() method from the
authenticator. Since that is input to the authorizer it needs a
reflection here.
type: object
groups:
description: Groups is the groups you're testing for.
items:
type: string
type: array
nonResourceAttributes:
$ref: "#/definitions/io.k8s.api.authorization.v1.NonResourceAttributes"
description:
NonResourceAttributes describes information for a non-resource
access request
resourceAttributes:
$ref: "#/definitions/io.k8s.api.authorization.v1.ResourceAttributes"
description: ResourceAuthorizationAttributes describes information for a
resource access request
uid:
description: UID information about the requesting user.
type: string
user:
description:
User is the user you're testing for. If you specify "User" but not
"Groups", then is it interpreted as "What if User were not a member of
any groups
type: string
type: object
io.k8s.api.authorization.v1.SubjectAccessReviewStatus:
description: SubjectAccessReviewStatus
properties:
allowed:
description:
Allowed is required. True if the action would be allowed, false
otherwise.
type: boolean
denied:
description:
Denied is optional. True if the action would be denied, otherwise
false. If both allowed is false and denied is false, then the
authorizer has no opinion on whether to authorize the action. Denied
may not be true if Allowed is true.
type: boolean
evaluationError:
description:
EvaluationError is an indication that some error occurred during
the authorization check. It is entirely possible to get an error and
be able to continue determine authorization status in spite of it. For
instance, RBAC can be missing a role, but enough roles are still
present and bound to reason about the request.
type: string
reason:
description: Reason is optional. It indicates why a request was allowed or denied.
type: string
required:
- allowed
type: object
io.k8s.api.authorization.v1.SubjectRulesReviewStatus:
description:
SubjectRulesReviewStatus contains the result of a rules check. This
check can be incomplete depending on the set of authorizers the server is
configured with and any errors experienced during evaluation. Because
authorization rules are additive, if a rule appears in a list it's safe to
assume the subject has that permission, even if that list is incomplete.
properties:
evaluationError:
description:
EvaluationError can appear in combination with Rules. It indicates
an error occurred during rule evaluation, such as an authorizer that
doesn't support rule evaluation, and that ResourceRules and/or
NonResourceRules may be incomplete.
type: string
incomplete:
description: Incomplete is true when the rules returned by this call are
incomplete. This is most commonly encountered when an authorizer, such
as an external authorizer, doesn't support rules evaluation.
type: boolean
nonResourceRules:
description:
NonResourceRules is the list of actions the subject is allowed to
perform on non-resources. The list ordering isn't significant, may
contain duplicates, and possibly be incomplete.
items:
$ref: "#/definitions/io.k8s.api.authorization.v1.NonResourceRule"
type: array
resourceRules:
description:
ResourceRules is the list of actions the subject is allowed to
perform on resources. The list ordering isn't significant, may contain
duplicates, and possibly be incomplete.
items:
$ref: "#/definitions/io.k8s.api.authorization.v1.ResourceRule"
type: array
required:
- resourceRules
- nonResourceRules
- incomplete
type: object
io.k8s.api.authorization.v1beta1.LocalSubjectAccessReview:
description:
LocalSubjectAccessReview checks whether or not a user or group can
perform an action in a given namespace. Having a namespace scoped resource
makes it much easier to grant namespace scoped policy that includes
permissions checking.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.SubjectAccessReviewSpec"
description: Spec holds information about the request being
evaluated. spec.namespace must be equal to the namespace you made the
request against. If empty, it is defaulted.
status:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.SubjectAccessReviewStatus"
description:
Status is filled in by the server and indicates whether the request
is allowed or not
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authorization.k8s.io
kind: LocalSubjectAccessReview
version: v1beta1
io.k8s.api.authorization.v1beta1.NonResourceAttributes:
description: NonResourceAttributes includes the authorization attributes
available for non-resource requests to the Authorizer interface
properties:
path:
description: Path is the URL path of the request
type: string
verb:
description: Verb is the standard HTTP verb
type: string
type: object
io.k8s.api.authorization.v1beta1.NonResourceRule:
description: NonResourceRule holds information that describes a rule for the
non-resource
properties:
nonResourceURLs:
description:
NonResourceURLs is a set of partial urls that a user should have
access to. *s are allowed, but only as the full, final step in the
path. "*" means all.
items:
type: string
type: array
verbs:
description:
'Verb is a list of kubernetes non-resource API verbs, like: get,
post, put, delete, patch, head, options. "*" means all.'
items:
type: string
type: array
required:
- verbs
type: object
io.k8s.api.authorization.v1beta1.ResourceAttributes:
description:
ResourceAttributes includes the authorization attributes available
for resource requests to the Authorizer interface
properties:
group:
description: Group is the API Group of the Resource. "*" means all.
type: string
name:
description:
Name is the name of the resource being requested for a "get" or
deleted for a "delete". "" (empty) means all.
type: string
namespace:
description: Namespace is the namespace of the action being
requested. Currently, there is no distinction between no namespace
and all namespaces "" (empty) is defaulted for
LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped
resources "" (empty) means "all" for namespace scoped resources from a
SubjectAccessReview or SelfSubjectAccessReview
type: string
resource:
description: Resource is one of the existing resource types. "*" means all.
type: string
subresource:
description: Subresource is one of the existing resource types. "" means none.
type: string
verb:
description:
'Verb is a kubernetes resource API verb, like: get, list, watch,
create, update, delete, proxy. "*" means all.'
type: string
version:
description: Version is the API Version of the Resource. "*" means all.
type: string
type: object
io.k8s.api.authorization.v1beta1.ResourceRule:
description: ResourceRule is the list of actions the subject is allowed to
perform on resources. The list ordering isn't significant, may contain
duplicates, and possibly be incomplete.
properties:
apiGroups:
description: APIGroups is the name of the APIGroup that contains the
resources. If multiple API groups are specified, any action requested
against one of the enumerated resources in any API group will be
allowed. "*" means all.
items:
type: string
type: array
resourceNames:
description:
ResourceNames is an optional white list of names that the rule
applies to. An empty set means that everything is allowed. "*" means
all.
items:
type: string
type: array
resources:
description: >-
Resources is a list of resources this rule applies to. "*" means all
in the specified apiGroups.
"*/foo" represents the subresource 'foo' for all resources in the specified apiGroups.
items:
type: string
type: array
verbs:
description:
'Verb is a list of kubernetes resource API verbs, like: get, list,
watch, create, update, delete, proxy. "*" means all.'
items:
type: string
type: array
required:
- verbs
type: object
io.k8s.api.authorization.v1beta1.SelfSubjectAccessReview:
description: SelfSubjectAccessReview checks whether or the current user can
perform an action. Not filling in a spec.namespace means "in all
namespaces". Self is a special case, because users should always be able
to check whether they can perform an action
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref:
"#/definitions/io.k8s.api.authorization.v1beta1.SelfSubjectAccessReviewSp\
ec"
description:
Spec holds information about the request being evaluated. user and
groups must be empty
status:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.SubjectAccessReviewStatus"
description:
Status is filled in by the server and indicates whether the request
is allowed or not
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authorization.k8s.io
kind: SelfSubjectAccessReview
version: v1beta1
io.k8s.api.authorization.v1beta1.SelfSubjectAccessReviewSpec:
description: SelfSubjectAccessReviewSpec is a description of the access
request. Exactly one of ResourceAuthorizationAttributes and
NonResourceAuthorizationAttributes must be set
properties:
nonResourceAttributes:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.NonResourceAttributes"
description:
NonResourceAttributes describes information for a non-resource
access request
resourceAttributes:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.ResourceAttributes"
description: ResourceAuthorizationAttributes describes information for a
resource access request
type: object
io.k8s.api.authorization.v1beta1.SelfSubjectRulesReview:
description:
SelfSubjectRulesReview enumerates the set of actions the current
user can perform within a namespace. The returned list of actions may be
incomplete depending on the server's authorization mode, and any errors
experienced during the evaluation. SelfSubjectRulesReview should be used
by UIs to show/hide actions, or to quickly let an end user reason about
their permissions. It should NOT Be used by external systems to drive
authorization decisions as this raises confused deputy, cache
lifetime/revocation, and correctness concerns. SubjectAccessReview, and
LocalAccessReview are the correct way to defer authorization decisions to
the API server.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref:
"#/definitions/io.k8s.api.authorization.v1beta1.SelfSubjectRulesReviewSpe\
c"
description: Spec holds information about the request being evaluated.
status:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.SubjectRulesReviewStatus"
description:
Status is filled in by the server and indicates the set of actions
a user can perform.
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authorization.k8s.io
kind: SelfSubjectRulesReview
version: v1beta1
io.k8s.api.authorization.v1beta1.SelfSubjectRulesReviewSpec:
properties:
namespace:
description: Namespace to evaluate rules for. Required.
type: string
type: object
io.k8s.api.authorization.v1beta1.SubjectAccessReview:
description: SubjectAccessReview checks whether or not a user or group can
perform an action.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.SubjectAccessReviewSpec"
description: Spec holds information about the request being evaluated
status:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.SubjectAccessReviewStatus"
description:
Status is filled in by the server and indicates whether the request
is allowed or not
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: authorization.k8s.io
kind: SubjectAccessReview
version: v1beta1
io.k8s.api.authorization.v1beta1.SubjectAccessReviewSpec:
description: SubjectAccessReviewSpec is a description of the access
request. Exactly one of ResourceAuthorizationAttributes and
NonResourceAuthorizationAttributes must be set
properties:
extra:
additionalProperties:
items:
type: string
type: array
description:
Extra corresponds to the user.Info.GetExtra() method from the
authenticator. Since that is input to the authorizer it needs a
reflection here.
type: object
group:
description: Groups is the groups you're testing for.
items:
type: string
type: array
nonResourceAttributes:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.NonResourceAttributes"
description:
NonResourceAttributes describes information for a non-resource
access request
resourceAttributes:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.ResourceAttributes"
description: ResourceAuthorizationAttributes describes information for a
resource access request
uid:
description: UID information about the requesting user.
type: string
user:
description:
User is the user you're testing for. If you specify "User" but not
"Group", then is it interpreted as "What if User were not a member of
any groups
type: string
type: object
io.k8s.api.authorization.v1beta1.SubjectAccessReviewStatus:
description: SubjectAccessReviewStatus
properties:
allowed:
description:
Allowed is required. True if the action would be allowed, false
otherwise.
type: boolean
denied:
description:
Denied is optional. True if the action would be denied, otherwise
false. If both allowed is false and denied is false, then the
authorizer has no opinion on whether to authorize the action. Denied
may not be true if Allowed is true.
type: boolean
evaluationError:
description:
EvaluationError is an indication that some error occurred during
the authorization check. It is entirely possible to get an error and
be able to continue determine authorization status in spite of it. For
instance, RBAC can be missing a role, but enough roles are still
present and bound to reason about the request.
type: string
reason:
description: Reason is optional. It indicates why a request was allowed or denied.
type: string
required:
- allowed
type: object
io.k8s.api.authorization.v1beta1.SubjectRulesReviewStatus:
description:
SubjectRulesReviewStatus contains the result of a rules check. This
check can be incomplete depending on the set of authorizers the server is
configured with and any errors experienced during evaluation. Because
authorization rules are additive, if a rule appears in a list it's safe to
assume the subject has that permission, even if that list is incomplete.
properties:
evaluationError:
description:
EvaluationError can appear in combination with Rules. It indicates
an error occurred during rule evaluation, such as an authorizer that
doesn't support rule evaluation, and that ResourceRules and/or
NonResourceRules may be incomplete.
type: string
incomplete:
description: Incomplete is true when the rules returned by this call are
incomplete. This is most commonly encountered when an authorizer, such
as an external authorizer, doesn't support rules evaluation.
type: boolean
nonResourceRules:
description:
NonResourceRules is the list of actions the subject is allowed to
perform on non-resources. The list ordering isn't significant, may
contain duplicates, and possibly be incomplete.
items:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.NonResourceRule"
type: array
resourceRules:
description:
ResourceRules is the list of actions the subject is allowed to
perform on resources. The list ordering isn't significant, may contain
duplicates, and possibly be incomplete.
items:
$ref: "#/definitions/io.k8s.api.authorization.v1beta1.ResourceRule"
type: array
required:
- resourceRules
- nonResourceRules
- incomplete
type: object
io.k8s.api.autoscaling.v1.CrossVersionObjectReference:
description:
CrossVersionObjectReference contains enough information to let you
identify the referred resource.
properties:
apiVersion:
description: API version of the referent
type: string
kind:
description: 'Kind of the referent; More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"'
type: string
name:
description: "Name of the referent; More info:
http://kubernetes.io/docs/user-guide/identifiers#names"
type: string
required:
- kind
- name
type: object
io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler:
description: configuration of a horizontal pod autoscaler.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerSpec"
description: "behaviour of autoscaler. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status."
status:
$ref: "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerStatus"
description: current information about the autoscaler.
type: object
x-kubernetes-group-version-kind:
- group: autoscaling
kind: HorizontalPodAutoscaler
version: v1
io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerList:
description: list of horizontal pod autoscaler objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: list of horizontal pod autoscaler objects.
items:
$ref: "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: Standard list metadata.
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: autoscaling
kind: HorizontalPodAutoscalerList
version: v1
io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerSpec:
description: specification of a horizontal pod autoscaler.
properties:
maxReplicas:
description: upper limit for the number of pods that can be set by the
autoscaler; cannot be smaller than MinReplicas.
format: int32
type: integer
minReplicas:
description:
minReplicas is the lower limit for the number of replicas to which
the autoscaler can scale down. It defaults to 1 pod. minReplicas is
allowed to be 0 if the alpha feature gate HPAScaleToZero is enabled
and at least one Object or External metric is configured. Scaling is
active as long as at least one metric value is available.
format: int32
type: integer
scaleTargetRef:
$ref: "#/definitions/io.k8s.api.autoscaling.v1.CrossVersionObjectReference"
description:
reference to scaled resource; horizontal pod autoscaler will learn
the current resource consumption and will set the desired number of
pods by using its Scale subresource.
targetCPUUtilizationPercentage:
description:
target average CPU utilization (represented as a percentage of
requested CPU) over all the pods; if not specified the default
autoscaling policy will be used.
format: int32
type: integer
required:
- scaleTargetRef
- maxReplicas
type: object
io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerStatus:
description: current status of a horizontal pod autoscaler
properties:
currentCPUUtilizationPercentage:
description:
current average CPU utilization over all pods, represented as a
percentage of requested CPU, e.g. 70 means that an average pod is
using now 70% of its requested CPU.
format: int32
type: integer
currentReplicas:
description: current number of replicas of pods managed by this autoscaler.
format: int32
type: integer
desiredReplicas:
description: desired number of replicas of pods managed by this autoscaler.
format: int32
type: integer
lastScaleTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
last time the HorizontalPodAutoscaler scaled the number of pods;
used by the autoscaler to control how often the number of pods is
changed.
observedGeneration:
description: most recent generation observed by this autoscaler.
format: int64
type: integer
required:
- currentReplicas
- desiredReplicas
type: object
io.k8s.api.autoscaling.v1.Scale:
description: Scale represents a scaling request for a resource.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object metadata; More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata."
spec:
$ref: "#/definitions/io.k8s.api.autoscaling.v1.ScaleSpec"
description: "defines the behavior of the scale. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status."
status:
$ref: "#/definitions/io.k8s.api.autoscaling.v1.ScaleStatus"
description: "current status of the scale. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status. Read-only."
type: object
x-kubernetes-group-version-kind:
- group: autoscaling
kind: Scale
version: v1
io.k8s.api.autoscaling.v1.ScaleSpec:
description: ScaleSpec describes the attributes of a scale subresource.
properties:
replicas:
description: desired number of instances for the scaled object.
format: int32
type: integer
type: object
io.k8s.api.autoscaling.v1.ScaleStatus:
description: ScaleStatus represents the current status of a scale subresource.
properties:
replicas:
description: actual number of observed instances of the scaled object.
format: int32
type: integer
selector:
description:
"label query over pods that should match the replicas count. This
is same as the label selector but in the string format to avoid
introspection by clients. The string will be in the same format as the
query-param syntax. More info about label selectors:
http://kubernetes.io/docs/user-guide/labels#label-selectors"
type: string
required:
- replicas
type: object
io.k8s.api.autoscaling.v2beta1.ContainerResourceMetricSource:
description:
ContainerResourceMetricSource indicates how to scale on a resource
metric known to Kubernetes, as specified in requests and limits,
describing each pod in the current scale target (e.g. CPU or memory). The
values will be averaged together before being compared to the
target. Such metrics are built in to Kubernetes, and have special scaling
options on top of those available to normal per-pod metrics using the
"pods" source. Only one "target" type should be set.
properties:
container:
description:
container is the name of the container in the pods of the scaling
target
type: string
name:
description: name is the name of the resource in question.
type: string
targetAverageUtilization:
description:
targetAverageUtilization is the target value of the average of the
resource metric across all relevant pods, represented as a percentage
of the requested value of the resource for the pods.
format: int32
type: integer
targetAverageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
targetAverageValue is the target value of the average of the
resource metric across all relevant pods, as a raw value (instead of
as a percentage of the request), similar to the "pods" metric source
type.
required:
- name
- container
type: object
io.k8s.api.autoscaling.v2beta1.ContainerResourceMetricStatus:
description: ContainerResourceMetricStatus indicates the current value of a
resource metric known to Kubernetes, as specified in requests and limits,
describing a single container in each pod in the current scale target
(e.g. CPU or memory). Such metrics are built in to Kubernetes, and have
special scaling options on top of those available to normal per-pod
metrics using the "pods" source.
properties:
container:
description:
container is the name of the container in the pods of the scaling
target
type: string
currentAverageUtilization:
description:
currentAverageUtilization is the current value of the average of
the resource metric across all relevant pods, represented as a
percentage of the requested value of the resource for the pods. It
will only be present if `targetAverageValue` was set in the
corresponding metric specification.
format: int32
type: integer
currentAverageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
currentAverageValue is the current value of the average of the
resource metric across all relevant pods, as a raw value (instead of
as a percentage of the request), similar to the "pods" metric source
type. It will always be set, regardless of the corresponding metric
specification.
name:
description: name is the name of the resource in question.
type: string
required:
- name
- currentAverageValue
- container
type: object
io.k8s.api.autoscaling.v2beta1.CrossVersionObjectReference:
description:
CrossVersionObjectReference contains enough information to let you
identify the referred resource.
properties:
apiVersion:
description: API version of the referent
type: string
kind:
description: 'Kind of the referent; More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"'
type: string
name:
description: "Name of the referent; More info:
http://kubernetes.io/docs/user-guide/identifiers#names"
type: string
required:
- kind
- name
type: object
io.k8s.api.autoscaling.v2beta1.ExternalMetricSource:
description: ExternalMetricSource indicates how to scale on a metric not
associated with any Kubernetes object (for example length of queue in
cloud messaging service, or QPS from loadbalancer running outside of
cluster). Exactly one "target" type should be set.
properties:
metricName:
description: metricName is the name of the metric in question.
type: string
metricSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
metricSelector is used to identify a specific time series within a
given metric.
targetAverageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
targetAverageValue is the target per-pod value of global metric (as
a quantity). Mutually exclusive with TargetValue.
targetValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
targetValue is the target value of the metric (as a quantity).
Mutually exclusive with TargetAverageValue.
required:
- metricName
type: object
io.k8s.api.autoscaling.v2beta1.ExternalMetricStatus:
description:
ExternalMetricStatus indicates the current value of a global metric
not associated with any Kubernetes object.
properties:
currentAverageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
currentAverageValue is the current value of metric averaged over
autoscaled pods.
currentValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: currentValue is the current value of the metric (as a quantity)
metricName:
description:
metricName is the name of a metric used for autoscaling in metric
system.
type: string
metricSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
metricSelector is used to identify a specific time series within a
given metric.
required:
- metricName
- currentValue
type: object
io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscaler:
description:
HorizontalPodAutoscaler is the configuration for a horizontal pod
autoscaler, which automatically manages the replica count of any resource
implementing the scale subresource based on the metrics specified.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "metadata is the standard object metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec"
description:
"spec is the specification for the behaviour of the autoscaler.
More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status."
status:
$ref:
"#/definitions/io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerStat\
us"
description: status is the current information about the autoscaler.
type: object
x-kubernetes-group-version-kind:
- group: autoscaling
kind: HorizontalPodAutoscaler
version: v2beta1
io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerCondition:
description: HorizontalPodAutoscalerCondition describes the state of a
HorizontalPodAutoscaler at a certain point.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
lastTransitionTime is the last time the condition transitioned from
one status to another
message:
description:
message is a human-readable explanation containing details about
the transition
type: string
reason:
description: reason is the reason for the condition's last transition.
type: string
status:
description: status is the status of the condition (True, False, Unknown)
type: string
type:
description: type describes the current condition
type: string
required:
- type
- status
type: object
io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerList:
description: HorizontalPodAutoscaler is a list of horizontal pod autoscaler objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: items is the list of horizontal pod autoscaler objects.
items:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscaler"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: metadata is the standard list metadata.
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: autoscaling
kind: HorizontalPodAutoscalerList
version: v2beta1
io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec:
description:
HorizontalPodAutoscalerSpec describes the desired functionality of
the HorizontalPodAutoscaler.
properties:
maxReplicas:
description:
maxReplicas is the upper limit for the number of replicas to which
the autoscaler can scale up. It cannot be less that minReplicas.
format: int32
type: integer
metrics:
description:
metrics contains the specifications for which to use to calculate
the desired replica count (the maximum replica count across all
metrics will be used). The desired replica count is calculated
multiplying the ratio between the target value and the current value
by the current number of pods. Ergo, metrics used must decrease as
the pod count is increased, and vice-versa. See the individual metric
source types for more information about how each type of metric must
respond.
items:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.MetricSpec"
type: array
minReplicas:
description:
minReplicas is the lower limit for the number of replicas to which
the autoscaler can scale down. It defaults to 1 pod. minReplicas is
allowed to be 0 if the alpha feature gate HPAScaleToZero is enabled
and at least one Object or External metric is configured. Scaling is
active as long as at least one metric value is available.
format: int32
type: integer
scaleTargetRef:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.CrossVersionObjectReference"
description:
scaleTargetRef points to the target resource to scale, and is used
to the pods for which metrics should be collected, as well as to
actually change the replica count.
required:
- scaleTargetRef
- maxReplicas
type: object
io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerStatus:
description: HorizontalPodAutoscalerStatus describes the current status of a
horizontal pod autoscaler.
properties:
conditions:
description:
conditions is the set of conditions required for this autoscaler to
scale its target, and indicates whether or not those conditions are
met.
items:
$ref:
"#/definitions/io.k8s.api.autoscaling.v2beta1.HorizontalPodAutoscalerCond\
ition"
type: array
currentMetrics:
description:
currentMetrics is the last read state of the metrics used by this
autoscaler.
items:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.MetricStatus"
type: array
currentReplicas:
description:
currentReplicas is current number of replicas of pods managed by
this autoscaler, as last seen by the autoscaler.
format: int32
type: integer
desiredReplicas:
description:
desiredReplicas is the desired number of replicas of pods managed
by this autoscaler, as last calculated by the autoscaler.
format: int32
type: integer
lastScaleTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
lastScaleTime is the last time the HorizontalPodAutoscaler scaled
the number of pods, used by the autoscaler to control how often the
number of pods is changed.
observedGeneration:
description:
observedGeneration is the most recent generation observed by this
autoscaler.
format: int64
type: integer
required:
- currentReplicas
- desiredReplicas
- conditions
type: object
io.k8s.api.autoscaling.v2beta1.MetricSpec:
description:
MetricSpec specifies how to scale based on a single metric (only
`type` and one other matching field should be set at once).
properties:
containerResource:
$ref:
"#/definitions/io.k8s.api.autoscaling.v2beta1.ContainerResourceMetricSour\
ce"
description:
container resource refers to a resource metric (such as those
specified in requests and limits) known to Kubernetes describing a
single container in each pod of the current scale target (e.g. CPU or
memory). Such metrics are built in to Kubernetes, and have special
scaling options on top of those available to normal per-pod metrics
using the "pods" source. This is an alpha feature and can be enabled
by the HPAContainerMetrics feature flag.
external:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.ExternalMetricSource"
description:
external refers to a global metric that is not associated with any
Kubernetes object. It allows autoscaling based on information coming
from components running outside of cluster (for example length of
queue in cloud messaging service, or QPS from loadbalancer running
outside of cluster).
object:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.ObjectMetricSource"
description:
object refers to a metric describing a single kubernetes object
(for example, hits-per-second on an Ingress object).
pods:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.PodsMetricSource"
description:
pods refers to a metric describing each pod in the current scale
target (for example, transactions-processed-per-second). The values
will be averaged together before being compared to the target value.
resource:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.ResourceMetricSource"
description:
resource refers to a resource metric (such as those specified in
requests and limits) known to Kubernetes describing each pod in the
current scale target (e.g. CPU or memory). Such metrics are built in
to Kubernetes, and have special scaling options on top of those
available to normal per-pod metrics using the "pods" source.
type:
description: 'type is the type of metric source. It should be one of
"ContainerResource", "External", "Object", "Pods" or "Resource", each
mapping to a matching field in the object. Note: "ContainerResource"
type is available on when the feature-gate HPAContainerMetrics is
enabled'
type: string
required:
- type
type: object
io.k8s.api.autoscaling.v2beta1.MetricStatus:
description: MetricStatus describes the last-read state of a single metric.
properties:
containerResource:
$ref:
"#/definitions/io.k8s.api.autoscaling.v2beta1.ContainerResourceMetricStat\
us"
description:
container resource refers to a resource metric (such as those
specified in requests and limits) known to Kubernetes describing a
single container in each pod in the current scale target (e.g. CPU or
memory). Such metrics are built in to Kubernetes, and have special
scaling options on top of those available to normal per-pod metrics
using the "pods" source.
external:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.ExternalMetricStatus"
description:
external refers to a global metric that is not associated with any
Kubernetes object. It allows autoscaling based on information coming
from components running outside of cluster (for example length of
queue in cloud messaging service, or QPS from loadbalancer running
outside of cluster).
object:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.ObjectMetricStatus"
description:
object refers to a metric describing a single kubernetes object
(for example, hits-per-second on an Ingress object).
pods:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.PodsMetricStatus"
description:
pods refers to a metric describing each pod in the current scale
target (for example, transactions-processed-per-second). The values
will be averaged together before being compared to the target value.
resource:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.ResourceMetricStatus"
description:
resource refers to a resource metric (such as those specified in
requests and limits) known to Kubernetes describing each pod in the
current scale target (e.g. CPU or memory). Such metrics are built in
to Kubernetes, and have special scaling options on top of those
available to normal per-pod metrics using the "pods" source.
type:
description: 'type is the type of metric source. It will be one of
"ContainerResource", "External", "Object", "Pods" or "Resource", each
corresponds to a matching field in the object. Note:
"ContainerResource" type is available on when the feature-gate
HPAContainerMetrics is enabled'
type: string
required:
- type
type: object
io.k8s.api.autoscaling.v2beta1.ObjectMetricSource:
description:
ObjectMetricSource indicates how to scale on a metric describing a
kubernetes object (for example, hits-per-second on an Ingress object).
properties:
averageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
averageValue is the target value of the average of the metric
across all relevant pods (as a quantity)
metricName:
description: metricName is the name of the metric in question.
type: string
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
selector is the string-encoded form of a standard kubernetes label
selector for the given metric When set, it is passed as an additional
parameter to the metrics server for more specific metrics scoping When
unset, just the metricName will be used to gather metrics.
target:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.CrossVersionObjectReference"
description: target is the described Kubernetes object.
targetValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: targetValue is the target value of the metric (as a quantity).
required:
- target
- metricName
- targetValue
type: object
io.k8s.api.autoscaling.v2beta1.ObjectMetricStatus:
description: ObjectMetricStatus indicates the current value of a metric
describing a kubernetes object (for example, hits-per-second on an Ingress
object).
properties:
averageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
averageValue is the current value of the average of the metric
across all relevant pods (as a quantity)
currentValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: currentValue is the current value of the metric (as a quantity).
metricName:
description: metricName is the name of the metric in question.
type: string
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
selector is the string-encoded form of a standard kubernetes label
selector for the given metric When set in the ObjectMetricSource, it
is passed as an additional parameter to the metrics server for more
specific metrics scoping. When unset, just the metricName will be used
to gather metrics.
target:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta1.CrossVersionObjectReference"
description: target is the described Kubernetes object.
required:
- target
- metricName
- currentValue
type: object
io.k8s.api.autoscaling.v2beta1.PodsMetricSource:
description:
PodsMetricSource indicates how to scale on a metric describing each
pod in the current scale target (for example,
transactions-processed-per-second). The values will be averaged together
before being compared to the target value.
properties:
metricName:
description: metricName is the name of the metric in question
type: string
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
selector is the string-encoded form of a standard kubernetes label
selector for the given metric When set, it is passed as an additional
parameter to the metrics server for more specific metrics scoping When
unset, just the metricName will be used to gather metrics.
targetAverageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
targetAverageValue is the target value of the average of the metric
across all relevant pods (as a quantity)
required:
- metricName
- targetAverageValue
type: object
io.k8s.api.autoscaling.v2beta1.PodsMetricStatus:
description:
PodsMetricStatus indicates the current value of a metric describing
each pod in the current scale target (for example,
transactions-processed-per-second).
properties:
currentAverageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
currentAverageValue is the current value of the average of the
metric across all relevant pods (as a quantity)
metricName:
description: metricName is the name of the metric in question
type: string
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
selector is the string-encoded form of a standard kubernetes label
selector for the given metric When set in the PodsMetricSource, it is
passed as an additional parameter to the metrics server for more
specific metrics scoping. When unset, just the metricName will be used
to gather metrics.
required:
- metricName
- currentAverageValue
type: object
io.k8s.api.autoscaling.v2beta1.ResourceMetricSource:
description:
ResourceMetricSource indicates how to scale on a resource metric
known to Kubernetes, as specified in requests and limits, describing each
pod in the current scale target (e.g. CPU or memory). The values will be
averaged together before being compared to the target. Such metrics are
built in to Kubernetes, and have special scaling options on top of those
available to normal per-pod metrics using the "pods" source. Only one
"target" type should be set.
properties:
name:
description: name is the name of the resource in question.
type: string
targetAverageUtilization:
description:
targetAverageUtilization is the target value of the average of the
resource metric across all relevant pods, represented as a percentage
of the requested value of the resource for the pods.
format: int32
type: integer
targetAverageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
targetAverageValue is the target value of the average of the
resource metric across all relevant pods, as a raw value (instead of
as a percentage of the request), similar to the "pods" metric source
type.
required:
- name
type: object
io.k8s.api.autoscaling.v2beta1.ResourceMetricStatus:
description: ResourceMetricStatus indicates the current value of a resource
metric known to Kubernetes, as specified in requests and limits,
describing each pod in the current scale target (e.g. CPU or
memory). Such metrics are built in to Kubernetes, and have special
scaling options on top of those available to normal per-pod metrics using
the "pods" source.
properties:
currentAverageUtilization:
description:
currentAverageUtilization is the current value of the average of
the resource metric across all relevant pods, represented as a
percentage of the requested value of the resource for the pods. It
will only be present if `targetAverageValue` was set in the
corresponding metric specification.
format: int32
type: integer
currentAverageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
currentAverageValue is the current value of the average of the
resource metric across all relevant pods, as a raw value (instead of
as a percentage of the request), similar to the "pods" metric source
type. It will always be set, regardless of the corresponding metric
specification.
name:
description: name is the name of the resource in question.
type: string
required:
- name
- currentAverageValue
type: object
io.k8s.api.autoscaling.v2beta2.ContainerResourceMetricSource:
description:
ContainerResourceMetricSource indicates how to scale on a resource
metric known to Kubernetes, as specified in requests and limits,
describing each pod in the current scale target (e.g. CPU or memory). The
values will be averaged together before being compared to the
target. Such metrics are built in to Kubernetes, and have special scaling
options on top of those available to normal per-pod metrics using the
"pods" source. Only one "target" type should be set.
properties:
container:
description:
container is the name of the container in the pods of the scaling
target
type: string
name:
description: name is the name of the resource in question.
type: string
target:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricTarget"
description: target specifies the target value for the given metric
required:
- name
- target
- container
type: object
io.k8s.api.autoscaling.v2beta2.ContainerResourceMetricStatus:
description: ContainerResourceMetricStatus indicates the current value of a
resource metric known to Kubernetes, as specified in requests and limits,
describing a single container in each pod in the current scale target
(e.g. CPU or memory). Such metrics are built in to Kubernetes, and have
special scaling options on top of those available to normal per-pod
metrics using the "pods" source.
properties:
container:
description:
Container is the name of the container in the pods of the scaling
target
type: string
current:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricValueStatus"
description: current contains the current value for the given metric
name:
description: Name is the name of the resource in question.
type: string
required:
- name
- current
- container
type: object
io.k8s.api.autoscaling.v2beta2.CrossVersionObjectReference:
description:
CrossVersionObjectReference contains enough information to let you
identify the referred resource.
properties:
apiVersion:
description: API version of the referent
type: string
kind:
description: 'Kind of the referent; More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"'
type: string
name:
description: "Name of the referent; More info:
http://kubernetes.io/docs/user-guide/identifiers#names"
type: string
required:
- kind
- name
type: object
io.k8s.api.autoscaling.v2beta2.ExternalMetricSource:
description: ExternalMetricSource indicates how to scale on a metric not
associated with any Kubernetes object (for example length of queue in
cloud messaging service, or QPS from loadbalancer running outside of
cluster).
properties:
metric:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricIdentifier"
description: metric identifies the target metric by name and selector
target:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricTarget"
description: target specifies the target value for the given metric
required:
- metric
- target
type: object
io.k8s.api.autoscaling.v2beta2.ExternalMetricStatus:
description:
ExternalMetricStatus indicates the current value of a global metric
not associated with any Kubernetes object.
properties:
current:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricValueStatus"
description: current contains the current value for the given metric
metric:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricIdentifier"
description: metric identifies the target metric by name and selector
required:
- metric
- current
type: object
io.k8s.api.autoscaling.v2beta2.HPAScalingPolicy:
description: HPAScalingPolicy is a single policy which must hold true for a
specified past interval.
properties:
periodSeconds:
description:
PeriodSeconds specifies the window of time for which the policy
should hold true. PeriodSeconds must be greater than zero and less
than or equal to 1800 (30 min).
format: int32
type: integer
type:
description: Type is used to specify the scaling policy.
type: string
value:
description:
Value contains the amount of change which is permitted by the
policy. It must be greater than zero
format: int32
type: integer
required:
- type
- value
- periodSeconds
type: object
io.k8s.api.autoscaling.v2beta2.HPAScalingRules:
description:
HPAScalingRules configures the scaling behavior for one direction.
These Rules are applied after calculating DesiredReplicas from metrics for
the HPA. They can limit the scaling velocity by specifying scaling
policies. They can prevent flapping by specifying the stabilization
window, so that the number of replicas is not set instantly, instead, the
safest value from the stabilization window is chosen.
properties:
policies:
description:
policies is a list of potential scaling polices which can be used
during scaling. At least one policy must be specified, otherwise the
HPAScalingRules will be discarded as invalid
items:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.HPAScalingPolicy"
type: array
selectPolicy:
description:
selectPolicy is used to specify which policy should be used. If not
set, the default value MaxPolicySelect is used.
type: string
stabilizationWindowSeconds:
description:
"StabilizationWindowSeconds is the number of seconds for which past
recommendations should be considered while scaling up or scaling down.
StabilizationWindowSeconds must be greater than or equal to zero and
less than or equal to 3600 (one hour). If not set, use the default
values: - For scale up: 0 (i.e. no stabilization is done). - For scale
down: 300 (i.e. the stabilization window is 300 seconds long)."
format: int32
type: integer
type: object
io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscaler:
description:
HorizontalPodAutoscaler is the configuration for a horizontal pod
autoscaler, which automatically manages the replica count of any resource
implementing the scale subresource based on the metrics specified.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "metadata is the standard object metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerSpec"
description:
"spec is the specification for the behaviour of the autoscaler.
More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status."
status:
$ref:
"#/definitions/io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerStat\
us"
description: status is the current information about the autoscaler.
type: object
x-kubernetes-group-version-kind:
- group: autoscaling
kind: HorizontalPodAutoscaler
version: v2beta2
io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerBehavior:
description:
HorizontalPodAutoscalerBehavior configures the scaling behavior of
the target in both Up and Down directions (scaleUp and scaleDown fields
respectively).
properties:
scaleDown:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.HPAScalingRules"
description:
scaleDown is scaling policy for scaling Down. If not set, the
default value is to allow to scale down to minReplicas pods, with a
300 second stabilization window (i.e., the highest recommendation for
the last 300sec is used).
scaleUp:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.HPAScalingRules"
description: >-
scaleUp is scaling policy for scaling Up. If not set, the default
value is the higher of:
* increase no more than 4 pods per 60 seconds
* double the number of pods per 60 seconds
No stabilization is used.
type: object
io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerCondition:
description: HorizontalPodAutoscalerCondition describes the state of a
HorizontalPodAutoscaler at a certain point.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
lastTransitionTime is the last time the condition transitioned from
one status to another
message:
description:
message is a human-readable explanation containing details about
the transition
type: string
reason:
description: reason is the reason for the condition's last transition.
type: string
status:
description: status is the status of the condition (True, False, Unknown)
type: string
type:
description: type describes the current condition
type: string
required:
- type
- status
type: object
io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerList:
description: HorizontalPodAutoscalerList is a list of horizontal pod autoscaler objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: items is the list of horizontal pod autoscaler objects.
items:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscaler"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: metadata is the standard list metadata.
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: autoscaling
kind: HorizontalPodAutoscalerList
version: v2beta2
io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerSpec:
description:
HorizontalPodAutoscalerSpec describes the desired functionality of
the HorizontalPodAutoscaler.
properties:
behavior:
$ref:
"#/definitions/io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerBeha\
vior"
description:
behavior configures the scaling behavior of the target in both Up
and Down directions (scaleUp and scaleDown fields respectively). If
not set, the default HPAScalingRules for scale up and scale down are
used.
maxReplicas:
description:
maxReplicas is the upper limit for the number of replicas to which
the autoscaler can scale up. It cannot be less that minReplicas.
format: int32
type: integer
metrics:
description:
metrics contains the specifications for which to use to calculate
the desired replica count (the maximum replica count across all
metrics will be used). The desired replica count is calculated
multiplying the ratio between the target value and the current value
by the current number of pods. Ergo, metrics used must decrease as
the pod count is increased, and vice-versa. See the individual metric
source types for more information about how each type of metric must
respond. If not set, the default metric will be set to 80% average CPU
utilization.
items:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricSpec"
type: array
minReplicas:
description:
minReplicas is the lower limit for the number of replicas to which
the autoscaler can scale down. It defaults to 1 pod. minReplicas is
allowed to be 0 if the alpha feature gate HPAScaleToZero is enabled
and at least one Object or External metric is configured. Scaling is
active as long as at least one metric value is available.
format: int32
type: integer
scaleTargetRef:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.CrossVersionObjectReference"
description:
scaleTargetRef points to the target resource to scale, and is used
to the pods for which metrics should be collected, as well as to
actually change the replica count.
required:
- scaleTargetRef
- maxReplicas
type: object
io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerStatus:
description: HorizontalPodAutoscalerStatus describes the current status of a
horizontal pod autoscaler.
properties:
conditions:
description:
conditions is the set of conditions required for this autoscaler to
scale its target, and indicates whether or not those conditions are
met.
items:
$ref:
"#/definitions/io.k8s.api.autoscaling.v2beta2.HorizontalPodAutoscalerCond\
ition"
type: array
currentMetrics:
description:
currentMetrics is the last read state of the metrics used by this
autoscaler.
items:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricStatus"
type: array
currentReplicas:
description:
currentReplicas is current number of replicas of pods managed by
this autoscaler, as last seen by the autoscaler.
format: int32
type: integer
desiredReplicas:
description:
desiredReplicas is the desired number of replicas of pods managed
by this autoscaler, as last calculated by the autoscaler.
format: int32
type: integer
lastScaleTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
lastScaleTime is the last time the HorizontalPodAutoscaler scaled
the number of pods, used by the autoscaler to control how often the
number of pods is changed.
observedGeneration:
description:
observedGeneration is the most recent generation observed by this
autoscaler.
format: int64
type: integer
required:
- currentReplicas
- desiredReplicas
- conditions
type: object
io.k8s.api.autoscaling.v2beta2.MetricIdentifier:
description: MetricIdentifier defines the name and optionally selector for a metric
properties:
name:
description: name is the name of the given metric
type: string
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
selector is the string-encoded form of a standard kubernetes label
selector for the given metric When set, it is passed as an additional
parameter to the metrics server for more specific metrics scoping.
When unset, just the metricName will be used to gather metrics.
required:
- name
type: object
io.k8s.api.autoscaling.v2beta2.MetricSpec:
description:
MetricSpec specifies how to scale based on a single metric (only
`type` and one other matching field should be set at once).
properties:
containerResource:
$ref:
"#/definitions/io.k8s.api.autoscaling.v2beta2.ContainerResourceMetricSour\
ce"
description:
container resource refers to a resource metric (such as those
specified in requests and limits) known to Kubernetes describing a
single container in each pod of the current scale target (e.g. CPU or
memory). Such metrics are built in to Kubernetes, and have special
scaling options on top of those available to normal per-pod metrics
using the "pods" source. This is an alpha feature and can be enabled
by the HPAContainerMetrics feature flag.
external:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.ExternalMetricSource"
description:
external refers to a global metric that is not associated with any
Kubernetes object. It allows autoscaling based on information coming
from components running outside of cluster (for example length of
queue in cloud messaging service, or QPS from loadbalancer running
outside of cluster).
object:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.ObjectMetricSource"
description:
object refers to a metric describing a single kubernetes object
(for example, hits-per-second on an Ingress object).
pods:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.PodsMetricSource"
description:
pods refers to a metric describing each pod in the current scale
target (for example, transactions-processed-per-second). The values
will be averaged together before being compared to the target value.
resource:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.ResourceMetricSource"
description:
resource refers to a resource metric (such as those specified in
requests and limits) known to Kubernetes describing each pod in the
current scale target (e.g. CPU or memory). Such metrics are built in
to Kubernetes, and have special scaling options on top of those
available to normal per-pod metrics using the "pods" source.
type:
description: 'type is the type of metric source. It should be one of
"ContainerResource", "External", "Object", "Pods" or "Resource", each
mapping to a matching field in the object. Note: "ContainerResource"
type is available on when the feature-gate HPAContainerMetrics is
enabled'
type: string
required:
- type
type: object
io.k8s.api.autoscaling.v2beta2.MetricStatus:
description: MetricStatus describes the last-read state of a single metric.
properties:
containerResource:
$ref:
"#/definitions/io.k8s.api.autoscaling.v2beta2.ContainerResourceMetricStat\
us"
description:
container resource refers to a resource metric (such as those
specified in requests and limits) known to Kubernetes describing a
single container in each pod in the current scale target (e.g. CPU or
memory). Such metrics are built in to Kubernetes, and have special
scaling options on top of those available to normal per-pod metrics
using the "pods" source.
external:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.ExternalMetricStatus"
description:
external refers to a global metric that is not associated with any
Kubernetes object. It allows autoscaling based on information coming
from components running outside of cluster (for example length of
queue in cloud messaging service, or QPS from loadbalancer running
outside of cluster).
object:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.ObjectMetricStatus"
description:
object refers to a metric describing a single kubernetes object
(for example, hits-per-second on an Ingress object).
pods:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.PodsMetricStatus"
description:
pods refers to a metric describing each pod in the current scale
target (for example, transactions-processed-per-second). The values
will be averaged together before being compared to the target value.
resource:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.ResourceMetricStatus"
description:
resource refers to a resource metric (such as those specified in
requests and limits) known to Kubernetes describing each pod in the
current scale target (e.g. CPU or memory). Such metrics are built in
to Kubernetes, and have special scaling options on top of those
available to normal per-pod metrics using the "pods" source.
type:
description: 'type is the type of metric source. It will be one of
"ContainerResource", "External", "Object", "Pods" or "Resource", each
corresponds to a matching field in the object. Note:
"ContainerResource" type is available on when the feature-gate
HPAContainerMetrics is enabled'
type: string
required:
- type
type: object
io.k8s.api.autoscaling.v2beta2.MetricTarget:
description:
MetricTarget defines the target value, average value, or average
utilization of a specific metric
properties:
averageUtilization:
description:
averageUtilization is the target value of the average of the
resource metric across all relevant pods, represented as a percentage
of the requested value of the resource for the pods. Currently only
valid for Resource metric source type
format: int32
type: integer
averageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
averageValue is the target value of the average of the metric
across all relevant pods (as a quantity)
type:
description:
type represents whether the metric type is Utilization, Value, or
AverageValue
type: string
value:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: value is the target value of the metric (as a quantity).
required:
- type
type: object
io.k8s.api.autoscaling.v2beta2.MetricValueStatus:
description: MetricValueStatus holds the current value for a metric
properties:
averageUtilization:
description:
currentAverageUtilization is the current value of the average of
the resource metric across all relevant pods, represented as a
percentage of the requested value of the resource for the pods.
format: int32
type: integer
averageValue:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
averageValue is the current value of the average of the metric
across all relevant pods (as a quantity)
value:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: value is the current value of the metric (as a quantity).
type: object
io.k8s.api.autoscaling.v2beta2.ObjectMetricSource:
description:
ObjectMetricSource indicates how to scale on a metric describing a
kubernetes object (for example, hits-per-second on an Ingress object).
properties:
describedObject:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.CrossVersionObjectReference"
metric:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricIdentifier"
description: metric identifies the target metric by name and selector
target:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricTarget"
description: target specifies the target value for the given metric
required:
- describedObject
- target
- metric
type: object
io.k8s.api.autoscaling.v2beta2.ObjectMetricStatus:
description: ObjectMetricStatus indicates the current value of a metric
describing a kubernetes object (for example, hits-per-second on an Ingress
object).
properties:
current:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricValueStatus"
description: current contains the current value for the given metric
describedObject:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.CrossVersionObjectReference"
metric:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricIdentifier"
description: metric identifies the target metric by name and selector
required:
- metric
- current
- describedObject
type: object
io.k8s.api.autoscaling.v2beta2.PodsMetricSource:
description:
PodsMetricSource indicates how to scale on a metric describing each
pod in the current scale target (for example,
transactions-processed-per-second). The values will be averaged together
before being compared to the target value.
properties:
metric:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricIdentifier"
description: metric identifies the target metric by name and selector
target:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricTarget"
description: target specifies the target value for the given metric
required:
- metric
- target
type: object
io.k8s.api.autoscaling.v2beta2.PodsMetricStatus:
description:
PodsMetricStatus indicates the current value of a metric describing
each pod in the current scale target (for example,
transactions-processed-per-second).
properties:
current:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricValueStatus"
description: current contains the current value for the given metric
metric:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricIdentifier"
description: metric identifies the target metric by name and selector
required:
- metric
- current
type: object
io.k8s.api.autoscaling.v2beta2.ResourceMetricSource:
description:
ResourceMetricSource indicates how to scale on a resource metric
known to Kubernetes, as specified in requests and limits, describing each
pod in the current scale target (e.g. CPU or memory). The values will be
averaged together before being compared to the target. Such metrics are
built in to Kubernetes, and have special scaling options on top of those
available to normal per-pod metrics using the "pods" source. Only one
"target" type should be set.
properties:
name:
description: name is the name of the resource in question.
type: string
target:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricTarget"
description: target specifies the target value for the given metric
required:
- name
- target
type: object
io.k8s.api.autoscaling.v2beta2.ResourceMetricStatus:
description: ResourceMetricStatus indicates the current value of a resource
metric known to Kubernetes, as specified in requests and limits,
describing each pod in the current scale target (e.g. CPU or
memory). Such metrics are built in to Kubernetes, and have special
scaling options on top of those available to normal per-pod metrics using
the "pods" source.
properties:
current:
$ref: "#/definitions/io.k8s.api.autoscaling.v2beta2.MetricValueStatus"
description: current contains the current value for the given metric
name:
description: Name is the name of the resource in question.
type: string
required:
- name
- current
type: object
io.k8s.api.batch.v1.Job:
description: Job represents the configuration of a single job.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.batch.v1.JobSpec"
description: "Specification of the desired behavior of a job. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.batch.v1.JobStatus"
description: "Current status of a job. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: batch
kind: Job
version: v1
io.k8s.api.batch.v1.JobCondition:
description: JobCondition describes current state of a job.
properties:
lastProbeTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition was checked.
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition transit from one status to another.
message:
description: Human readable message indicating details about last transition.
type: string
reason:
description: (brief) reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of job condition, Complete or Failed.
type: string
required:
- type
- status
type: object
io.k8s.api.batch.v1.JobList:
description: JobList is a collection of jobs.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: items is the list of Jobs.
items:
$ref: "#/definitions/io.k8s.api.batch.v1.Job"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: batch
kind: JobList
version: v1
io.k8s.api.batch.v1.JobSpec:
description: JobSpec describes how the job execution will look like.
properties:
activeDeadlineSeconds:
description:
Specifies the duration in seconds relative to the startTime that
the job may be active before the system tries to terminate it; value
must be positive integer
format: int64
type: integer
backoffLimit:
description:
Specifies the number of retries before marking this job failed.
Defaults to 6
format: int32
type: integer
completions:
description:
"Specifies the desired number of successfully finished pods the job
should be run with. Setting to nil means that the success of any pod
signals the success of all pods, and allows parallelism to have any
positive value. Setting to 1 means that parallelism is limited to 1
and the success of that pod signals the success of the job. More info:
https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to\
-completion/"
format: int32
type: integer
manualSelector:
description: "manualSelector controls generation of pod labels and pod
selectors. Leave `manualSelector` unset unless you are certain what
you are doing. When false or unset, the system pick labels unique to
this job and appends those labels to the pod template. When true, the
user is responsible for picking unique labels and specifying the
selector. Failure to pick a unique label may cause this and other
jobs to not function correctly. However, You may see
`manualSelector=true` in jobs that were created with the old
`extensions/v1beta1` API. More info:
https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to\
-completion/#specifying-your-own-pod-selector"
type: boolean
parallelism:
description:
"Specifies the maximum desired number of pods the job should run at
any given time. The actual number of pods running in steady state will
be less than this number when ((.spec.completions -
.status.successful) < .spec.parallelism), i.e. when the work left to
do is less than max parallelism. More info:
https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to\
-completion/"
format: int32
type: integer
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
"A label query over pods that should match the pod count. Normally,
the system sets this field for you. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/lab\
els/#label-selectors"
template:
$ref: "#/definitions/io.k8s.api.core.v1.PodTemplateSpec"
description:
"Describes the pod that will be created when executing a job. More
info:
https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to\
-completion/"
ttlSecondsAfterFinished:
description:
ttlSecondsAfterFinished limits the lifetime of a Job that has
finished execution (either Complete or Failed). If this field is set,
ttlSecondsAfterFinished after the Job finishes, it is eligible to be
automatically deleted. When the Job is being deleted, its lifecycle
guarantees (e.g. finalizers) will be honored. If this field is unset,
the Job won't be automatically deleted. If this field is set to zero,
the Job becomes eligible to be deleted immediately after it finishes.
This field is alpha-level and is only honored by servers that enable
the TTLAfterFinished feature.
format: int32
type: integer
required:
- template
type: object
io.k8s.api.batch.v1.JobStatus:
description: JobStatus represents the current state of a Job.
properties:
active:
description: The number of actively running pods.
format: int32
type: integer
completionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
Represents time when the job was completed. It is not guaranteed to
be set in happens-before order across separate operations. It is
represented in RFC3339 form and is in UTC. The completion time is only
set when the job finishes successfully.
conditions:
description:
"The latest available observations of an object's current state.
When a job fails, one of the conditions will have type == \"Failed\".
More info:
https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to\
-completion/"
items:
$ref: "#/definitions/io.k8s.api.batch.v1.JobCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
failed:
description: The number of pods which reached phase Failed.
format: int32
type: integer
startTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Represents time when the job was acknowledged by the job
controller. It is not guaranteed to be set in happens-before order
across separate operations. It is represented in RFC3339 form and is
in UTC.
succeeded:
description: The number of pods which reached phase Succeeded.
format: int32
type: integer
type: object
io.k8s.api.batch.v1beta1.CronJob:
description: CronJob represents the configuration of a single cron job.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.batch.v1beta1.CronJobSpec"
description:
"Specification of the desired behavior of a cron job, including the
schedule. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.batch.v1beta1.CronJobStatus"
description: "Current status of a cron job. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: batch
kind: CronJob
version: v1beta1
io.k8s.api.batch.v1beta1.CronJobList:
description: CronJobList is a collection of cron jobs.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: items is the list of CronJobs.
items:
$ref: "#/definitions/io.k8s.api.batch.v1beta1.CronJob"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: batch
kind: CronJobList
version: v1beta1
io.k8s.api.batch.v1beta1.CronJobSpec:
description:
CronJobSpec describes how the job execution will look like and when
it will actually run.
properties:
concurrencyPolicy:
description:
'Specifies how to treat concurrent executions of a Job. Valid
values are: - "Allow" (default): allows CronJobs to run
concurrently; - "Forbid": forbids concurrent runs, skipping next run
if previous run hasn''t finished yet; - "Replace": cancels currently
running job and replaces it with a new one'
type: string
failedJobsHistoryLimit:
description:
The number of failed finished jobs to retain. This is a pointer to
distinguish between explicit zero and not specified. Defaults to 1.
format: int32
type: integer
jobTemplate:
$ref: "#/definitions/io.k8s.api.batch.v1beta1.JobTemplateSpec"
description: Specifies the job that will be created when executing a CronJob.
schedule:
description: The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
type: string
startingDeadlineSeconds:
description:
Optional deadline in seconds for starting the job if it misses
scheduled time for any reason. Missed jobs executions will be counted
as failed ones.
format: int64
type: integer
successfulJobsHistoryLimit:
description:
The number of successful finished jobs to retain. This is a pointer
to distinguish between explicit zero and not specified. Defaults to 3.
format: int32
type: integer
suspend:
description:
This flag tells the controller to suspend subsequent executions, it
does not apply to already started executions. Defaults to false.
type: boolean
required:
- schedule
- jobTemplate
type: object
io.k8s.api.batch.v1beta1.CronJobStatus:
description: CronJobStatus represents the current state of a cron job.
properties:
active:
description: A list of pointers to currently running jobs.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
type: array
lastScheduleTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Information when was the last time the job was successfully scheduled.
type: object
io.k8s.api.batch.v1beta1.JobTemplateSpec:
description:
JobTemplateSpec describes the data a Job should have when created
from a template
properties:
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description:
"Standard object's metadata of the jobs created from this template.
More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.batch.v1.JobSpec"
description:
"Specification of the desired behavior of the job. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
io.k8s.api.batch.v2alpha1.CronJob:
description: CronJob represents the configuration of a single cron job.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.batch.v2alpha1.CronJobSpec"
description:
"Specification of the desired behavior of a cron job, including the
schedule. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.batch.v2alpha1.CronJobStatus"
description: "Current status of a cron job. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: batch
kind: CronJob
version: v2alpha1
io.k8s.api.batch.v2alpha1.CronJobList:
description: CronJobList is a collection of cron jobs.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: items is the list of CronJobs.
items:
$ref: "#/definitions/io.k8s.api.batch.v2alpha1.CronJob"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: batch
kind: CronJobList
version: v2alpha1
io.k8s.api.batch.v2alpha1.CronJobSpec:
description:
CronJobSpec describes how the job execution will look like and when
it will actually run.
properties:
concurrencyPolicy:
description:
'Specifies how to treat concurrent executions of a Job. Valid
values are: - "Allow" (default): allows CronJobs to run
concurrently; - "Forbid": forbids concurrent runs, skipping next run
if previous run hasn''t finished yet; - "Replace": cancels currently
running job and replaces it with a new one'
type: string
failedJobsHistoryLimit:
description:
The number of failed finished jobs to retain. This is a pointer to
distinguish between explicit zero and not specified.
format: int32
type: integer
jobTemplate:
$ref: "#/definitions/io.k8s.api.batch.v2alpha1.JobTemplateSpec"
description: Specifies the job that will be created when executing a CronJob.
schedule:
description: The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
type: string
startingDeadlineSeconds:
description:
Optional deadline in seconds for starting the job if it misses
scheduled time for any reason. Missed jobs executions will be counted
as failed ones.
format: int64
type: integer
successfulJobsHistoryLimit:
description:
The number of successful finished jobs to retain. This is a pointer
to distinguish between explicit zero and not specified.
format: int32
type: integer
suspend:
description:
This flag tells the controller to suspend subsequent executions, it
does not apply to already started executions. Defaults to false.
type: boolean
required:
- schedule
- jobTemplate
type: object
io.k8s.api.batch.v2alpha1.CronJobStatus:
description: CronJobStatus represents the current state of a cron job.
properties:
active:
description: A list of pointers to currently running jobs.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
type: array
lastScheduleTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Information when was the last time the job was successfully scheduled.
type: object
io.k8s.api.batch.v2alpha1.JobTemplateSpec:
description:
JobTemplateSpec describes the data a Job should have when created
from a template
properties:
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description:
"Standard object's metadata of the jobs created from this template.
More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.batch.v1.JobSpec"
description:
"Specification of the desired behavior of the job. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
io.k8s.api.certificates.v1.CertificateSigningRequest:
description: >-
CertificateSigningRequest objects provide a mechanism to obtain x509
certificates by submitting a certificate signing request, and having it
asynchronously approved and issued.
Kubelets use this API to obtain:
1. client certificates to authenticate to kube-apiserver (with the "kubernetes.io/kube-apiserver-client-kubelet" signerName).
2. serving certificates for TLS endpoints kube-apiserver can connect to securely (with the "kubernetes.io/kubelet-serving" signerName).
This API can be used to request client certificates to authenticate to kube-apiserver (with the "kubernetes.io/kube-apiserver-client" signerName), or to obtain certificates from custom non-Kubernetes signers.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequestSpec"
description:
spec contains the certificate request, and is immutable after
creation. Only the request, signerName, and usages fields can be set
on creation. Other fields are derived by Kubernetes and cannot be
modified by users.
status:
$ref: "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequestStatus"
description:
status contains information about whether the request is approved
or denied, and the certificate issued by the signer, or the failure
condition indicating signer failure.
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: certificates.k8s.io
kind: CertificateSigningRequest
version: v1
io.k8s.api.certificates.v1.CertificateSigningRequestCondition:
description: CertificateSigningRequestCondition describes a condition of a
CertificateSigningRequest object
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
lastTransitionTime is the time the condition last transitioned from
one status to another. If unset, when a new condition type is added or
an existing condition's status is changed, the server defaults this to
the current time.
lastUpdateTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: lastUpdateTime is the time of the last update to this condition
message:
description:
message contains a human readable message with details about the
request state
type: string
reason:
description: reason indicates a brief reason for the request state
type: string
status:
description:
status of the condition, one of True, False, Unknown. Approved,
Denied, and Failed conditions may not be "False" or "Unknown".
type: string
type:
description: >-
type of the condition. Known conditions are "Approved", "Denied", and
"Failed".
An "Approved" condition is added via the /approval subresource, indicating the request was approved and should be issued by the signer.
A "Denied" condition is added via the /approval subresource, indicating the request was denied and should not be issued by the signer.
A "Failed" condition is added via the /status subresource, indicating the signer failed to issue the certificate.
Approved and Denied conditions are mutually exclusive. Approved, Denied, and Failed conditions cannot be removed once added.
Only one condition of a given type is allowed.
type: string
required:
- type
- status
type: object
io.k8s.api.certificates.v1.CertificateSigningRequestList:
description: CertificateSigningRequestList is a collection of
CertificateSigningRequest objects
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: items is a collection of CertificateSigningRequest objects
items:
$ref: "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: certificates.k8s.io
kind: CertificateSigningRequestList
version: v1
io.k8s.api.certificates.v1.CertificateSigningRequestSpec:
description: CertificateSigningRequestSpec contains the certificate request.
properties:
extra:
additionalProperties:
items:
type: string
type: array
description:
extra contains extra attributes of the user that created the
CertificateSigningRequest. Populated by the API server on creation and
immutable.
type: object
groups:
description:
groups contains group membership of the user that created the
CertificateSigningRequest. Populated by the API server on creation and
immutable.
items:
type: string
type: array
x-kubernetes-list-type: atomic
request:
description:
request contains an x509 certificate signing request encoded in a
"CERTIFICATE REQUEST" PEM block. When serialized as JSON or YAML, the
data is additionally base64-encoded.
format: byte
type: string
x-kubernetes-list-type: atomic
signerName:
description: >-
signerName indicates the requested signer, and is a qualified name.
List/watch requests for CertificateSigningRequests can filter on this field using a "spec.signerName=NAME" fieldSelector.
Well-known Kubernetes signers are:
1. "kubernetes.io/kube-apiserver-client": issues client certificates that can be used to authenticate to kube-apiserver.
Requests for this signer are never auto-approved by kube-controller-manager, can be issued by the "csrsigning" controller in kube-controller-manager.
2. "kubernetes.io/kube-apiserver-client-kubelet": issues client certificates that kubelets use to authenticate to kube-apiserver.
Requests for this signer can be auto-approved by the "csrapproving" controller in kube-controller-manager, and can be issued by the "csrsigning" controller in kube-controller-manager.
3. "kubernetes.io/kubelet-serving" issues serving certificates that kubelets use to serve TLS endpoints, which kube-apiserver can connect to securely.
Requests for this signer are never auto-approved by kube-controller-manager, and can be issued by the "csrsigning" controller in kube-controller-manager.
More details are available at https://k8s.io/docs/reference/access-authn-authz/certificate-signing-requests/#kubernetes-signers
Custom signerNames can also be specified. The signer defines:
1. Trust distribution: how trust (CA bundles) are distributed.
2. Permitted subjects: and behavior when a disallowed subject is requested.
3. Required, permitted, or forbidden x509 extensions in the request (including whether subjectAltNames are allowed, which types, restrictions on allowed values) and behavior when a disallowed extension is requested.
4. Required, permitted, or forbidden key usages / extended key usages.
5. Expiration/certificate lifetime: whether it is fixed by the signer, configurable by the admin.
6. Whether or not requests for CA certificates are allowed.
type: string
uid:
description: uid contains the uid of the user that created the
CertificateSigningRequest. Populated by the API server on creation and
immutable.
type: string
usages:
description: >-
usages specifies a set of key usages requested in the issued
certificate.
Requests for TLS client certificates typically request: "digital signature", "key encipherment", "client auth".
Requests for TLS serving certificates typically request: "key encipherment", "digital signature", "server auth".
Valid values are:
"signing", "digital signature", "content commitment",
"key encipherment", "key agreement", "data encipherment",
"cert sign", "crl sign", "encipher only", "decipher only", "any",
"server auth", "client auth",
"code signing", "email protection", "s/mime",
"ipsec end system", "ipsec tunnel", "ipsec user",
"timestamping", "ocsp signing", "microsoft sgc", "netscape sgc"
items:
type: string
type: array
x-kubernetes-list-type: atomic
username:
description: username contains the name of the user that created the
CertificateSigningRequest. Populated by the API server on creation and
immutable.
type: string
required:
- request
- signerName
type: object
io.k8s.api.certificates.v1.CertificateSigningRequestStatus:
description: CertificateSigningRequestStatus contains conditions used to
indicate approved/denied/failed status of the request, and the issued
certificate.
properties:
certificate:
description: >-
certificate is populated with an issued certificate by the signer
after an Approved condition is present. This field is set via the
/status subresource. Once populated, this field is immutable.
If the certificate signing request is denied, a condition of type "Denied" is added and this field remains empty. If the signer cannot issue the certificate, a condition of type "Failed" is added and this field remains empty.
Validation requirements:
1. certificate must contain one or more PEM blocks.
2. All PEM blocks must have the "CERTIFICATE" label, contain no headers, and the encoded data
must be a BER-encoded ASN.1 Certificate structure as described in section 4 of RFC5280.
3. Non-PEM content may appear before or after the "CERTIFICATE" PEM blocks and is unvalidated,
to allow for explanatory text as described in section 5.2 of RFC7468.
If more than one PEM block is present, and the definition of the requested spec.signerName does not indicate otherwise, the first block is the issued certificate, and subsequent blocks should be treated as intermediate certificates and presented in TLS handshakes.
The certificate is encoded in PEM format.
When serialized as JSON or YAML, the data is additionally base64-encoded, so it consists of:
base64(
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
)
format: byte
type: string
x-kubernetes-list-type: atomic
conditions:
description:
conditions applied to the request. Known conditions are "Approved",
"Denied", and "Failed".
items:
$ref:
"#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequestCondit\
ion"
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
type: object
io.k8s.api.certificates.v1beta1.CertificateSigningRequest:
description: Describes a certificate signing request
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref:
"#/definitions/io.k8s.api.certificates.v1beta1.CertificateSigningRequestS\
pec"
description: The certificate request itself and any additional information.
status:
$ref:
"#/definitions/io.k8s.api.certificates.v1beta1.CertificateSigningRequestS\
tatus"
description: Derived information about the request.
type: object
x-kubernetes-group-version-kind:
- group: certificates.k8s.io
kind: CertificateSigningRequest
version: v1beta1
io.k8s.api.certificates.v1beta1.CertificateSigningRequestCondition:
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
lastTransitionTime is the time the condition last transitioned from
one status to another. If unset, when a new condition type is added or
an existing condition's status is changed, the server defaults this to
the current time.
lastUpdateTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: timestamp for the last update to this condition
message:
description: human readable message with details about the request state
type: string
reason:
description: brief reason for the request state
type: string
status:
description:
Status of the condition, one of True, False, Unknown. Approved,
Denied, and Failed conditions may not be "False" or "Unknown".
Defaults to "True". If unset, should be treated as "True".
type: string
type:
description: type of the condition. Known conditions include "Approved",
"Denied", and "Failed".
type: string
required:
- type
type: object
io.k8s.api.certificates.v1beta1.CertificateSigningRequestList:
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
items:
$ref: "#/definitions/io.k8s.api.certificates.v1beta1.CertificateSigningRequest"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: certificates.k8s.io
kind: CertificateSigningRequestList
version: v1beta1
io.k8s.api.certificates.v1beta1.CertificateSigningRequestSpec:
description:
This information is immutable after the request is created. Only
the Request and Usages fields can be set on creation, other fields are
derived by Kubernetes and cannot be modified by users.
properties:
extra:
additionalProperties:
items:
type: string
type: array
description: Extra information about the requesting user. See user.Info
interface for details.
type: object
groups:
description: Group information about the requesting user. See user.Info
interface for details.
items:
type: string
type: array
x-kubernetes-list-type: atomic
request:
description: Base64-encoded PKCS#10 CSR data
format: byte
type: string
x-kubernetes-list-type: atomic
signerName:
description: >-
Requested signer for the request. It is a qualified name in the form:
`scope-hostname.io/name`. If empty, it will be defaulted:
1. If it's a kubelet client certificate, it is assigned
"kubernetes.io/kube-apiserver-client-kubelet".
2. If it's a kubelet serving certificate, it is assigned
"kubernetes.io/kubelet-serving".
3. Otherwise, it is assigned "kubernetes.io/legacy-unknown".
Distribution of trust for signers happens out of band. You can select on this field using `spec.signerName`.
type: string
uid:
description:
UID information about the requesting user. See user.Info interface
for details.
type: string
usages:
description: >-
allowedUsages specifies a set of usage contexts the key will be valid
for. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3
https://tools.ietf.org/html/rfc5280#section-4.2.1.12
Valid values are:
"signing",
"digital signature",
"content commitment",
"key encipherment",
"key agreement",
"data encipherment",
"cert sign",
"crl sign",
"encipher only",
"decipher only",
"any",
"server auth",
"client auth",
"code signing",
"email protection",
"s/mime",
"ipsec end system",
"ipsec tunnel",
"ipsec user",
"timestamping",
"ocsp signing",
"microsoft sgc",
"netscape sgc"
items:
type: string
type: array
x-kubernetes-list-type: atomic
username:
description:
Information about the requesting user. See user.Info interface for
details.
type: string
required:
- request
type: object
io.k8s.api.certificates.v1beta1.CertificateSigningRequestStatus:
properties:
certificate:
description:
If request was approved, the controller will place the issued
certificate here.
format: byte
type: string
x-kubernetes-list-type: atomic
conditions:
description: Conditions applied to the request, such as approval or denial.
items:
$ref:
"#/definitions/io.k8s.api.certificates.v1beta1.CertificateSigningRequestC\
ondition"
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
type: object
io.k8s.api.coordination.v1.Lease:
description: Lease defines a lease concept.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.coordination.v1.LeaseSpec"
description: "Specification of the Lease. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: coordination.k8s.io
kind: Lease
version: v1
io.k8s.api.coordination.v1.LeaseList:
description: LeaseList is a list of Lease objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is a list of schema objects.
items:
$ref: "#/definitions/io.k8s.api.coordination.v1.Lease"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: coordination.k8s.io
kind: LeaseList
version: v1
io.k8s.api.coordination.v1.LeaseSpec:
description: LeaseSpec is a specification of a Lease.
properties:
acquireTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description: acquireTime is a time when the current lease was acquired.
holderIdentity:
description: holderIdentity contains the identity of the holder of a current lease.
type: string
leaseDurationSeconds:
description:
leaseDurationSeconds is a duration that candidates for a lease need
to wait to force acquire it. This is measure against time of last
observed RenewTime.
format: int32
type: integer
leaseTransitions:
description:
leaseTransitions is the number of transitions of a lease between
holders.
format: int32
type: integer
renewTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description:
renewTime is a time when the current holder of a lease has last
updated the lease.
type: object
io.k8s.api.coordination.v1beta1.Lease:
description: Lease defines a lease concept.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.coordination.v1beta1.LeaseSpec"
description: "Specification of the Lease. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: coordination.k8s.io
kind: Lease
version: v1beta1
io.k8s.api.coordination.v1beta1.LeaseList:
description: LeaseList is a list of Lease objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is a list of schema objects.
items:
$ref: "#/definitions/io.k8s.api.coordination.v1beta1.Lease"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: coordination.k8s.io
kind: LeaseList
version: v1beta1
io.k8s.api.coordination.v1beta1.LeaseSpec:
description: LeaseSpec is a specification of a Lease.
properties:
acquireTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description: acquireTime is a time when the current lease was acquired.
holderIdentity:
description: holderIdentity contains the identity of the holder of a current lease.
type: string
leaseDurationSeconds:
description:
leaseDurationSeconds is a duration that candidates for a lease need
to wait to force acquire it. This is measure against time of last
observed RenewTime.
format: int32
type: integer
leaseTransitions:
description:
leaseTransitions is the number of transitions of a lease between
holders.
format: int32
type: integer
renewTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description:
renewTime is a time when the current holder of a lease has last
updated the lease.
type: object
io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource:
description: >-
Represents a Persistent Disk resource in AWS.
An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.
properties:
fsType:
description:
'Filesystem type of the volume that you want to mount. Tip: Ensure
that the filesystem type is supported by the host operating system.
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if
unspecified. More info:
https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
type: string
partition:
description:
'The partition in the volume that you want to mount. If omitted,
the default is to mount by volume name. Examples: For volume
/dev/sda1, you specify the partition as "1". Similarly, the volume
partition for /dev/sda is "0" (or you can leave the property empty).'
format: int32
type: integer
readOnly:
description: 'Specify "true" to force and set the ReadOnly property in
VolumeMounts to "true". If omitted, the default is "false". More info:
https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
type: boolean
volumeID:
description:
"Unique ID of the persistent disk resource in AWS (Amazon EBS
volume). More info:
https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockst\
ore"
type: string
required:
- volumeID
type: object
io.k8s.api.core.v1.Affinity:
description: Affinity is a group of affinity scheduling rules.
properties:
nodeAffinity:
$ref: "#/definitions/io.k8s.api.core.v1.NodeAffinity"
description: Describes node affinity scheduling rules for the pod.
podAffinity:
$ref: "#/definitions/io.k8s.api.core.v1.PodAffinity"
description:
Describes pod affinity scheduling rules (e.g. co-locate this pod in
the same node, zone, etc. as some other pod(s)).
podAntiAffinity:
$ref: "#/definitions/io.k8s.api.core.v1.PodAntiAffinity"
description:
Describes pod anti-affinity scheduling rules (e.g. avoid putting
this pod in the same node, zone, etc. as some other pod(s)).
type: object
io.k8s.api.core.v1.AttachedVolume:
description: AttachedVolume describes a volume attached to a node
properties:
devicePath:
description:
DevicePath represents the device path where the volume should be
available
type: string
name:
description: Name of the attached volume
type: string
required:
- name
- devicePath
type: object
io.k8s.api.core.v1.AzureDiskVolumeSource:
description:
AzureDisk represents an Azure Data Disk mount on the host and bind
mount to the pod.
properties:
cachingMode:
description: "Host Caching mode: None, Read Only, Read Write."
type: string
diskName:
description: The Name of the data disk in the blob storage
type: string
diskURI:
description: The URI the data disk in the blob storage
type: string
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
inferred to be "ext4" if unspecified.
type: string
kind:
description: "Expected values Shared: multiple blob disks per storage
account Dedicated: single blob disk per storage account Managed:
azure managed data disk (only in managed availability set). defaults
to shared"
type: string
readOnly:
description:
Defaults to false (read/write). ReadOnly here will force the
ReadOnly setting in VolumeMounts.
type: boolean
required:
- diskName
- diskURI
type: object
io.k8s.api.core.v1.AzureFilePersistentVolumeSource:
description:
AzureFile represents an Azure File Service mount on the host and
bind mount to the pod.
properties:
readOnly:
description:
Defaults to false (read/write). ReadOnly here will force the
ReadOnly setting in VolumeMounts.
type: boolean
secretName:
description: the name of secret that contains Azure Storage Account Name and Key
type: string
secretNamespace:
description:
the namespace of the secret that contains Azure Storage Account
Name and Key default is the same as the Pod
type: string
shareName:
description: Share Name
type: string
required:
- secretName
- shareName
type: object
io.k8s.api.core.v1.AzureFileVolumeSource:
description:
AzureFile represents an Azure File Service mount on the host and
bind mount to the pod.
properties:
readOnly:
description:
Defaults to false (read/write). ReadOnly here will force the
ReadOnly setting in VolumeMounts.
type: boolean
secretName:
description: the name of secret that contains Azure Storage Account Name and Key
type: string
shareName:
description: Share Name
type: string
required:
- secretName
- shareName
type: object
io.k8s.api.core.v1.Binding:
description:
Binding ties one object to another; for example, a pod is bound to
a node by a scheduler. Deprecated in 1.7, please use the bindings
subresource of pods instead.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
target:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description: The target object that you want to bind to the standard object.
required:
- target
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: Binding
version: v1
io.k8s.api.core.v1.CSIPersistentVolumeSource:
description:
Represents storage that is managed by an external CSI volume driver
(Beta feature)
properties:
controllerExpandSecretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description:
ControllerExpandSecretRef is a reference to the secret object
containing sensitive information to pass to the CSI driver to complete
the CSI ControllerExpandVolume call. This is an alpha field and
requires enabling ExpandCSIVolumes feature gate. This field is
optional, and may be empty if no secret is required. If the secret
object contains more than one secret, all secrets are passed.
controllerPublishSecretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description:
ControllerPublishSecretRef is a reference to the secret object
containing sensitive information to pass to the CSI driver to complete
the CSI ControllerPublishVolume and ControllerUnpublishVolume calls.
This field is optional, and may be empty if no secret is required. If
the secret object contains more than one secret, all secrets are
passed.
driver:
description: Driver is the name of the driver to use for this volume. Required.
type: string
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs".
type: string
nodePublishSecretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description:
NodePublishSecretRef is a reference to the secret object containing
sensitive information to pass to the CSI driver to complete the CSI
NodePublishVolume and NodeUnpublishVolume calls. This field is
optional, and may be empty if no secret is required. If the secret
object contains more than one secret, all secrets are passed.
nodeStageSecretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description:
NodeStageSecretRef is a reference to the secret object containing
sensitive information to pass to the CSI driver to complete the CSI
NodeStageVolume and NodeStageVolume and NodeUnstageVolume calls. This
field is optional, and may be empty if no secret is required. If the
secret object contains more than one secret, all secrets are passed.
readOnly:
description:
"Optional: The value to pass to ControllerPublishVolumeRequest.
Defaults to false (read/write)."
type: boolean
volumeAttributes:
additionalProperties:
type: string
description: Attributes of the volume to publish.
type: object
volumeHandle:
description:
VolumeHandle is the unique volume name returned by the CSI volume
plugin’s CreateVolume to refer to the volume on all subsequent calls.
Required.
type: string
required:
- driver
- volumeHandle
type: object
io.k8s.api.core.v1.CSIVolumeSource:
description:
Represents a source location of a volume to mount, managed by an
external CSI driver
properties:
driver:
description:
Driver is the name of the CSI driver that handles this volume.
Consult with your admin for the correct name as registered in the
cluster.
type: string
fsType:
description: Filesystem type to mount. Ex. "ext4", "xfs", "ntfs". If not
provided, the empty value is passed to the associated CSI driver which
will determine the default filesystem to apply.
type: string
nodePublishSecretRef:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
description:
NodePublishSecretRef is a reference to the secret object containing
sensitive information to pass to the CSI driver to complete the CSI
NodePublishVolume and NodeUnpublishVolume calls. This field is
optional, and may be empty if no secret is required. If the secret
object contains more than one secret, all secret references are
passed.
readOnly:
description:
Specifies a read-only configuration for the volume. Defaults to
false (read/write).
type: boolean
volumeAttributes:
additionalProperties:
type: string
description:
VolumeAttributes stores driver-specific properties that are passed
to the CSI driver. Consult your driver's documentation for supported
values.
type: object
required:
- driver
type: object
io.k8s.api.core.v1.Capabilities:
description: Adds and removes POSIX capabilities from running containers.
properties:
add:
description: Added capabilities
items:
type: string
type: array
drop:
description: Removed capabilities
items:
type: string
type: array
type: object
io.k8s.api.core.v1.CephFSPersistentVolumeSource:
description:
Represents a Ceph Filesystem mount that lasts the lifetime of a pod
Cephfs volumes do not support ownership management or SELinux relabeling.
properties:
monitors:
description:
"Required: Monitors is a collection of Ceph monitors More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
items:
type: string
type: array
path:
description:
"Optional: Used as the mounted root, rather than the full Ceph
tree, default is /"
type: string
readOnly:
description:
"Optional: Defaults to false (read/write). ReadOnly here will force
the ReadOnly setting in VolumeMounts. More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
type: boolean
secretFile:
description:
"Optional: SecretFile is the path to key ring for User, default is
/etc/ceph/user.secret More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
type: string
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description:
"Optional: SecretRef is reference to the authentication secret for
User, default is empty. More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
user:
description:
"Optional: User is the rados user name, default is admin More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
type: string
required:
- monitors
type: object
io.k8s.api.core.v1.CephFSVolumeSource:
description:
Represents a Ceph Filesystem mount that lasts the lifetime of a pod
Cephfs volumes do not support ownership management or SELinux relabeling.
properties:
monitors:
description:
"Required: Monitors is a collection of Ceph monitors More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
items:
type: string
type: array
path:
description:
"Optional: Used as the mounted root, rather than the full Ceph
tree, default is /"
type: string
readOnly:
description:
"Optional: Defaults to false (read/write). ReadOnly here will force
the ReadOnly setting in VolumeMounts. More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
type: boolean
secretFile:
description:
"Optional: SecretFile is the path to key ring for User, default is
/etc/ceph/user.secret More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
type: string
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
description:
"Optional: SecretRef is reference to the authentication secret for
User, default is empty. More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
user:
description:
"Optional: User is the rados user name, default is admin More info:
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
type: string
required:
- monitors
type: object
io.k8s.api.core.v1.CinderPersistentVolumeSource:
description:
Represents a cinder volume resource in Openstack. A Cinder volume
must exist before mounting to a container. The volume must also be in the
same region as the kubelet. Cinder volumes support ownership management
and SELinux relabeling.
properties:
fsType:
description:
'Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly
inferred to be "ext4" if unspecified. More info:
https://examples.k8s.io/mysql-cinder-pd/README.md'
type: string
readOnly:
description:
"Optional: Defaults to false (read/write). ReadOnly here will force
the ReadOnly setting in VolumeMounts. More info:
https://examples.k8s.io/mysql-cinder-pd/README.md"
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description:
"Optional: points to a secret object containing parameters used to
connect to OpenStack."
volumeID:
description:
"volume id used to identify the volume in cinder. More info:
https://examples.k8s.io/mysql-cinder-pd/README.md"
type: string
required:
- volumeID
type: object
io.k8s.api.core.v1.CinderVolumeSource:
description:
Represents a cinder volume resource in Openstack. A Cinder volume
must exist before mounting to a container. The volume must also be in the
same region as the kubelet. Cinder volumes support ownership management
and SELinux relabeling.
properties:
fsType:
description:
'Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly
inferred to be "ext4" if unspecified. More info:
https://examples.k8s.io/mysql-cinder-pd/README.md'
type: string
readOnly:
description:
"Optional: Defaults to false (read/write). ReadOnly here will force
the ReadOnly setting in VolumeMounts. More info:
https://examples.k8s.io/mysql-cinder-pd/README.md"
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
description:
"Optional: points to a secret object containing parameters used to
connect to OpenStack."
volumeID:
description:
"volume id used to identify the volume in cinder. More info:
https://examples.k8s.io/mysql-cinder-pd/README.md"
type: string
required:
- volumeID
type: object
io.k8s.api.core.v1.ClientIPConfig:
description: ClientIPConfig represents the configurations of Client IP based
session affinity.
properties:
timeoutSeconds:
description:
timeoutSeconds specifies the seconds of ClientIP type session
sticky time. The value must be >0 && <=86400(for 1 day) if
ServiceAffinity == "ClientIP". Default value is 10800(for 3 hours).
format: int32
type: integer
type: object
io.k8s.api.core.v1.ComponentCondition:
description: Information about the condition of a component.
properties:
error:
description:
Condition error code for a component. For example, a health check
error code.
type: string
message:
description: Message about the condition for a component. For example,
information about a health check.
type: string
status:
description: 'Status of the condition for a component. Valid values for
"Healthy": "True", "False", or "Unknown".'
type: string
type:
description: 'Type of condition for a component. Valid value: "Healthy"'
type: string
required:
- type
- status
type: object
io.k8s.api.core.v1.ComponentStatus:
description: "ComponentStatus (and ComponentStatusList) holds the cluster
validation info. Deprecated: This API is deprecated in v1.19+"
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
conditions:
description: List of component conditions observed
items:
$ref: "#/definitions/io.k8s.api.core.v1.ComponentCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ComponentStatus
version: v1
io.k8s.api.core.v1.ComponentStatusList:
description: "Status of all the conditions for the component as a list of
ComponentStatus objects. Deprecated: This API is deprecated in v1.19+"
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of ComponentStatus objects.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ComponentStatus"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ComponentStatusList
version: v1
io.k8s.api.core.v1.ConfigMap:
description: ConfigMap holds configuration data for pods to consume.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
binaryData:
additionalProperties:
format: byte
type: string
description:
BinaryData contains the binary data. Each key must consist of
alphanumeric characters, '-', '_' or '.'. BinaryData can contain byte
sequences that are not in the UTF-8 range. The keys stored in
BinaryData must not overlap with the ones in the Data field, this is
enforced during validation process. Using this field will require
1.10+ apiserver and kubelet.
type: object
data:
additionalProperties:
type: string
description:
Data contains the configuration data. Each key must consist of
alphanumeric characters, '-', '_' or '.'. Values with non-UTF-8 byte
sequences must use the BinaryData field. The keys stored in Data must
not overlap with the keys in the BinaryData field, this is enforced
during validation process.
type: object
immutable:
description: Immutable, if set to true, ensures that data stored in the
ConfigMap cannot be updated (only object metadata can be modified). If
not set to true, the field can be modified at any time. Defaulted to
nil. This is a beta field enabled by ImmutableEphemeralVolumes feature
gate.
type: boolean
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ConfigMap
version: v1
io.k8s.api.core.v1.ConfigMapEnvSource:
description: >-
ConfigMapEnvSource selects a ConfigMap to populate the environment
variables with.
The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.
properties:
name:
description: "Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
optional:
description: Specify whether the ConfigMap must be defined
type: boolean
type: object
io.k8s.api.core.v1.ConfigMapKeySelector:
description: Selects a key from a ConfigMap.
properties:
key:
description: The key to select.
type: string
name:
description: "Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
io.k8s.api.core.v1.ConfigMapList:
description: ConfigMapList is a resource containing a list of ConfigMap objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is the list of ConfigMaps.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ConfigMap"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ConfigMapList
version: v1
io.k8s.api.core.v1.ConfigMapNodeConfigSource:
description:
ConfigMapNodeConfigSource contains the information to reference a
ConfigMap as a config source for the Node.
properties:
kubeletConfigKey:
description:
KubeletConfigKey declares which key of the referenced ConfigMap
corresponds to the KubeletConfiguration structure This field is
required in all cases.
type: string
name:
description:
Name is the metadata.name of the referenced ConfigMap. This field
is required in all cases.
type: string
namespace:
description:
Namespace is the metadata.namespace of the referenced ConfigMap.
This field is required in all cases.
type: string
resourceVersion:
description:
ResourceVersion is the metadata.ResourceVersion of the referenced
ConfigMap. This field is forbidden in Node.Spec, and required in
Node.Status.
type: string
uid:
description:
UID is the metadata.UID of the referenced ConfigMap. This field is
forbidden in Node.Spec, and required in Node.Status.
type: string
required:
- namespace
- name
- kubeletConfigKey
type: object
io.k8s.api.core.v1.ConfigMapProjection:
description: >-
Adapts a ConfigMap into a projected volume.
The contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.
properties:
items:
description:
If unspecified, each key-value pair in the Data field of the
referenced ConfigMap will be projected into the volume as a file whose
name is the key and content is the value. If specified, the listed
keys will be projected into the specified paths, and unlisted keys
will not be present. If a key is specified which is not present in the
ConfigMap, the volume setup will error unless it is marked optional.
Paths must be relative and may not contain the '..' path or start with
'..'.
items:
$ref: "#/definitions/io.k8s.api.core.v1.KeyToPath"
type: array
name:
description: "Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
optional:
description: Specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
io.k8s.api.core.v1.ConfigMapVolumeSource:
description: >-
Adapts a ConfigMap into a volume.
The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.
properties:
defaultMode:
description:
"Optional: mode bits used to set permissions on created files by
default. Must be an octal value between 0000 and 0777 or a decimal
value between 0 and 511. YAML accepts both octal and decimal values,
JSON requires decimal values for mode bits. Defaults to 0644.
Directories within the path are not affected by this setting. This
might be in conflict with other options that affect the file mode,
like fsGroup, and the result can be other mode bits set."
format: int32
type: integer
items:
description:
If unspecified, each key-value pair in the Data field of the
referenced ConfigMap will be projected into the volume as a file whose
name is the key and content is the value. If specified, the listed
keys will be projected into the specified paths, and unlisted keys
will not be present. If a key is specified which is not present in the
ConfigMap, the volume setup will error unless it is marked optional.
Paths must be relative and may not contain the '..' path or start with
'..'.
items:
$ref: "#/definitions/io.k8s.api.core.v1.KeyToPath"
type: array
name:
description: "Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
optional:
description: Specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
io.k8s.api.core.v1.Container:
description: A single application container that you want to run within a pod.
properties:
args:
description:
"Arguments to the entrypoint. The docker image's CMD is used if
this is not provided. Variable references $(VAR_NAME) are expanded
using the container's environment. If a variable cannot be resolved,
the reference in the input string will be unchanged. The $(VAR_NAME)
syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
references will never be expanded, regardless of whether the variable
exists or not. Cannot be updated. More info:
https://kubernetes.io/docs/tasks/inject-data-application/define-comma\
nd-argument-container/#running-a-command-in-a-shell"
items:
type: string
type: array
command:
description:
"Entrypoint array. Not executed within a shell. The docker image's
ENTRYPOINT is used if this is not provided. Variable references
$(VAR_NAME) are expanded using the container's environment. If a
variable cannot be resolved, the reference in the input string will be
unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie:
$$(VAR_NAME). Escaped references will never be expanded, regardless of
whether the variable exists or not. Cannot be updated. More info:
https://kubernetes.io/docs/tasks/inject-data-application/define-comma\
nd-argument-container/#running-a-command-in-a-shell"
items:
type: string
type: array
env:
description:
List of environment variables to set in the container. Cannot be
updated.
items:
$ref: "#/definitions/io.k8s.api.core.v1.EnvVar"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
envFrom:
description:
List of sources to populate environment variables in the container.
The keys defined within a source must be a C_IDENTIFIER. All invalid
keys will be reported as an event when the container is starting. When
a key exists in multiple sources, the value associated with the last
source will take precedence. Values defined by an Env with a duplicate
key will take precedence. Cannot be updated.
items:
$ref: "#/definitions/io.k8s.api.core.v1.EnvFromSource"
type: array
image:
description: "Docker image name. More info:
https://kubernetes.io/docs/concepts/containers/images This field is
optional to allow higher level config management to default or
override container images in workload controllers like Deployments and
StatefulSets."
type: string
imagePullPolicy:
description:
"Image pull policy. One of Always, Never, IfNotPresent. Defaults to
Always if :latest tag is specified, or IfNotPresent otherwise. Cannot
be updated. More info:
https://kubernetes.io/docs/concepts/containers/images#updating-images"
type: string
lifecycle:
$ref: "#/definitions/io.k8s.api.core.v1.Lifecycle"
description:
Actions that the management system should take in response to
container lifecycle events. Cannot be updated.
livenessProbe:
$ref: "#/definitions/io.k8s.api.core.v1.Probe"
description:
"Periodic probe of container liveness. Container will be restarted
if the probe fails. Cannot be updated. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#cont\
ainer-probes"
name:
description:
Name of the container specified as a DNS_LABEL. Each container in a
pod must have a unique name (DNS_LABEL). Cannot be updated.
type: string
ports:
description:
List of ports to expose from the container. Exposing a port here
gives the system additional information about the network connections
a container uses, but is primarily informational. Not specifying a
port here DOES NOT prevent that port from being exposed. Any port
which is listening on the default "0.0.0.0" address inside a container
will be accessible from the network. Cannot be updated.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerPort"
type: array
x-kubernetes-list-map-keys:
- containerPort
- protocol
x-kubernetes-list-type: map
x-kubernetes-patch-merge-key: containerPort
x-kubernetes-patch-strategy: merge
readinessProbe:
$ref: "#/definitions/io.k8s.api.core.v1.Probe"
description:
"Periodic probe of container service readiness. Container will be
removed from service endpoints if the probe fails. Cannot be updated.
More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#cont\
ainer-probes"
resources:
$ref: "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
description:
"Compute Resources required by this container. Cannot be updated.
More info:
https://kubernetes.io/docs/concepts/configuration/manage-compute-reso\
urces-container/"
securityContext:
$ref: "#/definitions/io.k8s.api.core.v1.SecurityContext"
description: "Security options the pod should run with. More info:
https://kubernetes.io/docs/concepts/policy/security-context/ More
info:
https://kubernetes.io/docs/tasks/configure-pod-container/security-con\
text/"
startupProbe:
$ref: "#/definitions/io.k8s.api.core.v1.Probe"
description:
"StartupProbe indicates that the Pod has successfully initialized.
If specified, no other probes are executed until this completes
successfully. If this probe fails, the Pod will be restarted, just as
if the livenessProbe failed. This can be used to provide different
probe parameters at the beginning of a Pod's lifecycle, when it might
take a long time to load data or warm a cache, than during
steady-state operation. This cannot be updated. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#cont\
ainer-probes"
stdin:
description:
Whether this container should allocate a buffer for stdin in the
container runtime. If this is not set, reads from stdin in the
container will always result in EOF. Default is false.
type: boolean
stdinOnce:
description:
Whether the container runtime should close the stdin channel after
it has been opened by a single attach. When stdin is true the stdin
stream will remain open across multiple attach sessions. If stdinOnce
is set to true, stdin is opened on container start, is empty until the
first client attaches to stdin, and then remains open and accepts data
until the client disconnects, at which time stdin is closed and
remains closed until the container is restarted. If this flag is
false, a container processes that reads from stdin will never receive
an EOF. Default is false
type: boolean
terminationMessagePath:
description: "Optional: Path at which the file to which the container's
termination message will be written is mounted into the container's
filesystem. Message written is intended to be brief final status, such
as an assertion failure message. Will be truncated by the node if
greater than 4096 bytes. The total message length across all
containers will be limited to 12kb. Defaults to /dev/termination-log.
Cannot be updated."
type: string
terminationMessagePolicy:
description:
Indicate how the termination message should be populated. File will
use the contents of terminationMessagePath to populate the container
status message on both success and failure. FallbackToLogsOnError will
use the last chunk of container log output if the termination message
file is empty and the container exited with an error. The log output
is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
to File. Cannot be updated.
type: string
tty:
description:
Whether this container should allocate a TTY for itself, also
requires 'stdin' to be true. Default is false.
type: boolean
volumeDevices:
description: volumeDevices is the list of block devices to be used by the container.
items:
$ref: "#/definitions/io.k8s.api.core.v1.VolumeDevice"
type: array
x-kubernetes-patch-merge-key: devicePath
x-kubernetes-patch-strategy: merge
volumeMounts:
description:
Pod volumes to mount into the container's filesystem. Cannot be
updated.
items:
$ref: "#/definitions/io.k8s.api.core.v1.VolumeMount"
type: array
x-kubernetes-patch-merge-key: mountPath
x-kubernetes-patch-strategy: merge
workingDir:
description:
Container's working directory. If not specified, the container
runtime's default will be used, which might be configured in the
container image. Cannot be updated.
type: string
required:
- name
type: object
io.k8s.api.core.v1.ContainerImage:
description: Describe a container image
properties:
names:
description: Names by which this image is known. e.g.
["k8s.gcr.io/hyperkube:v1.0.7",
"dockerhub.io/google_containers/hyperkube:v1.0.7"]
items:
type: string
type: array
sizeBytes:
description: The size of the image in bytes.
format: int64
type: integer
required:
- names
type: object
io.k8s.api.core.v1.ContainerPort:
description: ContainerPort represents a network port in a single container.
properties:
containerPort:
description:
Number of port to expose on the pod's IP address. This must be a
valid port number, 0 < x < 65536.
format: int32
type: integer
hostIP:
description: What host IP to bind the external port to.
type: string
hostPort:
description:
Number of port to expose on the host. If specified, this must be a
valid port number, 0 < x < 65536. If HostNetwork is specified, this
must match ContainerPort. Most containers do not need this.
format: int32
type: integer
name:
description:
If specified, this must be an IANA_SVC_NAME and unique within the
pod. Each named port in a pod must have a unique name. Name for the
port that can be referred to by services.
type: string
protocol:
description: Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".
type: string
required:
- containerPort
type: object
io.k8s.api.core.v1.ContainerState:
description:
ContainerState holds a possible state of container. Only one of its
members may be specified. If none of them is specified, the default one is
ContainerStateWaiting.
properties:
running:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerStateRunning"
description: Details about a running container
terminated:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerStateTerminated"
description: Details about a terminated container
waiting:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerStateWaiting"
description: Details about a waiting container
type: object
io.k8s.api.core.v1.ContainerStateRunning:
description: ContainerStateRunning is a running state of a container.
properties:
startedAt:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Time at which the container was last (re-)started
type: object
io.k8s.api.core.v1.ContainerStateTerminated:
description: ContainerStateTerminated is a terminated state of a container.
properties:
containerID:
description: Container's ID in the format 'docker://<container_id>'
type: string
exitCode:
description: Exit status from the last termination of the container
format: int32
type: integer
finishedAt:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Time at which the container last terminated
message:
description: Message regarding the last termination of the container
type: string
reason:
description: (brief) reason from the last termination of the container
type: string
signal:
description: Signal from the last termination of the container
format: int32
type: integer
startedAt:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Time at which previous execution of the container started
required:
- exitCode
type: object
io.k8s.api.core.v1.ContainerStateWaiting:
description: ContainerStateWaiting is a waiting state of a container.
properties:
message:
description: Message regarding why the container is not yet running.
type: string
reason:
description: (brief) reason the container is not yet running.
type: string
type: object
io.k8s.api.core.v1.ContainerStatus:
description: ContainerStatus contains details for the current status of this container.
properties:
containerID:
description: Container's ID in the format 'docker://<container_id>'.
type: string
image:
description: "The image the container is running. More info:
https://kubernetes.io/docs/concepts/containers/images"
type: string
imageID:
description: ImageID of the container's image.
type: string
lastState:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerState"
description: Details about the container's last termination condition.
name:
description:
This must be a DNS_LABEL. Each container in a pod must have a
unique name. Cannot be updated.
type: string
ready:
description: Specifies whether the container has passed its readiness probe.
type: boolean
restartCount:
description:
The number of times the container has been restarted, currently
based on the number of dead containers that have not yet been removed.
Note that this is calculated from dead containers. But those
containers are subject to garbage collection. This value will get
capped at 5 by GC.
format: int32
type: integer
started:
description:
Specifies whether the container has passed its startup probe.
Initialized as false, becomes true after startupProbe is considered
successful. Resets to false when the container is restarted, or if
kubelet loses state temporarily. Is always true when no startupProbe
is defined.
type: boolean
state:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerState"
description: Details about the container's current condition.
required:
- name
- ready
- restartCount
- image
- imageID
type: object
io.k8s.api.core.v1.DaemonEndpoint:
description: DaemonEndpoint contains information about a single Daemon endpoint.
properties:
Port:
description: Port number of the given endpoint.
format: int32
type: integer
required:
- Port
type: object
io.k8s.api.core.v1.DownwardAPIProjection:
description: Represents downward API info for projecting into a projected
volume. Note that this is identical to a downwardAPI volume source without
the default mode.
properties:
items:
description: Items is a list of DownwardAPIVolume file
items:
$ref: "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile"
type: array
type: object
io.k8s.api.core.v1.DownwardAPIVolumeFile:
description: DownwardAPIVolumeFile represents information to create the file
containing the pod field
properties:
fieldRef:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectFieldSelector"
description:
"Required: Selects a field of the pod: only annotations, labels,
name and namespace are supported."
mode:
description:
"Optional: mode bits used to set permissions on this file, must be
an octal value between 0000 and 0777 or a decimal value between 0 and
511. YAML accepts both octal and decimal values, JSON requires decimal
values for mode bits. If not specified, the volume defaultMode will be
used. This might be in conflict with other options that affect the
file mode, like fsGroup, and the result can be other mode bits set."
format: int32
type: integer
path:
description:
"Required: Path is the relative path name of the file to be
created. Must not be absolute or contain the '..' path. Must be utf-8
encoded. The first item of the relative path must not start with '..'"
type: string
resourceFieldRef:
$ref: "#/definitions/io.k8s.api.core.v1.ResourceFieldSelector"
description:
"Selects a resource of the container: only resources limits and
requests (limits.cpu, limits.memory, requests.cpu and requests.memory)
are currently supported."
required:
- path
type: object
io.k8s.api.core.v1.DownwardAPIVolumeSource:
description:
DownwardAPIVolumeSource represents a volume containing downward API
info. Downward API volumes support ownership management and SELinux
relabeling.
properties:
defaultMode:
description:
"Optional: mode bits to use on created files by default. Must be a
Optional: mode bits used to set permissions on created files by
default. Must be an octal value between 0000 and 0777 or a decimal
value between 0 and 511. YAML accepts both octal and decimal values,
JSON requires decimal values for mode bits. Defaults to 0644.
Directories within the path are not affected by this setting. This
might be in conflict with other options that affect the file mode,
like fsGroup, and the result can be other mode bits set."
format: int32
type: integer
items:
description: Items is a list of downward API volume file
items:
$ref: "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile"
type: array
type: object
io.k8s.api.core.v1.EmptyDirVolumeSource:
description:
Represents an empty directory for a pod. Empty directory volumes
support ownership management and SELinux relabeling.
properties:
medium:
description:
'What type of storage medium should back this directory. The
default is "" which means to use the node''s default medium. Must be
an empty string (default) or Memory. More info:
https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
type: string
sizeLimit:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
"Total amount of local storage required for this EmptyDir volume.
The size limit is also applicable for memory medium. The maximum usage
on memory medium EmptyDir would be the minimum value between the
SizeLimit specified here and the sum of memory limits of all
containers in a pod. The default is nil which means that the limit is
undefined. More info:
http://kubernetes.io/docs/user-guide/volumes#emptydir"
type: object
io.k8s.api.core.v1.EndpointAddress:
description: EndpointAddress is a tuple that describes single IP address.
properties:
hostname:
description: The Hostname of this endpoint
type: string
ip:
description: The IP of this endpoint. May not be loopback (127.0.0.0/8),
link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24).
IPv6 is also accepted but not fully supported on all platforms. Also,
certain kubernetes components, like kube-proxy, are not IPv6 ready.
type: string
nodeName:
description: "Optional: Node hosting this endpoint. This can be used to
determine endpoints local to a node."
type: string
targetRef:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description: Reference to object providing the endpoint.
required:
- ip
type: object
io.k8s.api.core.v1.EndpointPort:
description: EndpointPort is a tuple that describes a single port.
properties:
appProtocol:
description:
The application protocol for this port. This field follows standard
Kubernetes label syntax. Un-prefixed names are reserved for IANA
standard service names (as per RFC-6335 and
http://www.iana.org/assignments/service-names). Non-standard protocols
should use prefixed names such as mycompany.com/my-custom-protocol.
This is a beta field that is guarded by the ServiceAppProtocol feature
gate and enabled by default.
type: string
name:
description:
The name of this port. This must match the 'name' field in the
corresponding ServicePort. Must be a DNS_LABEL. Optional only if one
port is defined.
type: string
port:
description: The port number of the endpoint.
format: int32
type: integer
protocol:
description:
The IP protocol for this port. Must be UDP, TCP, or SCTP. Default
is TCP.
type: string
required:
- port
type: object
io.k8s.api.core.v1.EndpointSubset:
description: >-
EndpointSubset is a group of addresses with a common set of ports. The
expanded set of endpoints is the Cartesian product of Addresses x Ports.
For example, given:
{
Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
}
The resulting set of endpoints can be viewed as:
a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],
b: [ 10.10.1.1:309, 10.10.2.2:309 ]
properties:
addresses:
description:
IP addresses which offer the related ports that are marked as
ready. These endpoints should be considered safe for load balancers
and clients to utilize.
items:
$ref: "#/definitions/io.k8s.api.core.v1.EndpointAddress"
type: array
notReadyAddresses:
description:
IP addresses which offer the related ports but are not currently
marked as ready because they have not yet finished starting, have
recently failed a readiness check, or have recently failed a liveness
check.
items:
$ref: "#/definitions/io.k8s.api.core.v1.EndpointAddress"
type: array
ports:
description: Port numbers available on the related IP addresses.
items:
$ref: "#/definitions/io.k8s.api.core.v1.EndpointPort"
type: array
type: object
io.k8s.api.core.v1.Endpoints:
description: >-
Endpoints is a collection of endpoints that implement the actual service.
Example:
Name: "mysvc",
Subsets: [
{
Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
},
{
Addresses: [{"ip": "10.10.3.3"}],
Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}]
},
]
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
subsets:
description:
The set of all endpoints is the union of all subsets. Addresses are
placed into subsets according to the IPs they share. A single address
with multiple ports, some of which are ready and some of which are not
(because they come from different containers) will result in the
address being displayed in different subsets for the different ports.
No address will appear in both Addresses and NotReadyAddresses in the
same subset. Sets of addresses and ports that comprise a service.
items:
$ref: "#/definitions/io.k8s.api.core.v1.EndpointSubset"
type: array
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: Endpoints
version: v1
io.k8s.api.core.v1.EndpointsList:
description: EndpointsList is a list of endpoints.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of endpoints.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Endpoints"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: EndpointsList
version: v1
io.k8s.api.core.v1.EnvFromSource:
description: EnvFromSource represents the source of a set of ConfigMaps
properties:
configMapRef:
$ref: "#/definitions/io.k8s.api.core.v1.ConfigMapEnvSource"
description: The ConfigMap to select from
prefix:
description:
An optional identifier to prepend to each key in the ConfigMap.
Must be a C_IDENTIFIER.
type: string
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretEnvSource"
description: The Secret to select from
type: object
io.k8s.api.core.v1.EnvVar:
description: EnvVar represents an environment variable present in a Container.
properties:
name:
description: Name of the environment variable. Must be a C_IDENTIFIER.
type: string
value:
description:
'Variable references $(VAR_NAME) are expanded using the previous
defined environment variables in the container and any service
environment variables. If a variable cannot be resolved, the reference
in the input string will be unchanged. The $(VAR_NAME) syntax can be
escaped with a double $$, ie: $$(VAR_NAME). Escaped references will
never be expanded, regardless of whether the variable exists or not.
Defaults to "".'
type: string
valueFrom:
$ref: "#/definitions/io.k8s.api.core.v1.EnvVarSource"
description:
Source for the environment variable's value. Cannot be used if
value is not empty.
required:
- name
type: object
io.k8s.api.core.v1.EnvVarSource:
description: EnvVarSource represents a source for the value of an EnvVar.
properties:
configMapKeyRef:
$ref: "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector"
description: Selects a key of a ConfigMap.
fieldRef:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectFieldSelector"
description: "Selects a field of the pod: supports metadata.name,
metadata.namespace, `metadata.labels['<KEY>']`,
`metadata.annotations['<KEY>']`, spec.nodeName,
spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs."
resourceFieldRef:
$ref: "#/definitions/io.k8s.api.core.v1.ResourceFieldSelector"
description:
"Selects a resource of the container: only resources limits and
requests (limits.cpu, limits.memory, limits.ephemeral-storage,
requests.cpu, requests.memory and requests.ephemeral-storage) are
currently supported."
secretKeyRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
description: Selects a key of a secret in the pod's namespace
type: object
io.k8s.api.core.v1.EphemeralContainer:
description:
An EphemeralContainer is a container that may be added temporarily
to an existing pod for user-initiated activities such as debugging.
Ephemeral containers have no resource or scheduling guarantees, and they
will not be restarted when they exit or when a pod is removed or
restarted. If an ephemeral container causes a pod to exceed its resource
allocation, the pod may be evicted. Ephemeral containers may not be added
by directly updating the pod spec. They must be added via the pod's
ephemeralcontainers subresource, and they will appear in the pod spec once
added. This is an alpha feature enabled by the EphemeralContainers feature
flag.
properties:
args:
description:
"Arguments to the entrypoint. The docker image's CMD is used if
this is not provided. Variable references $(VAR_NAME) are expanded
using the container's environment. If a variable cannot be resolved,
the reference in the input string will be unchanged. The $(VAR_NAME)
syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
references will never be expanded, regardless of whether the variable
exists or not. Cannot be updated. More info:
https://kubernetes.io/docs/tasks/inject-data-application/define-comma\
nd-argument-container/#running-a-command-in-a-shell"
items:
type: string
type: array
command:
description:
"Entrypoint array. Not executed within a shell. The docker image's
ENTRYPOINT is used if this is not provided. Variable references
$(VAR_NAME) are expanded using the container's environment. If a
variable cannot be resolved, the reference in the input string will be
unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie:
$$(VAR_NAME). Escaped references will never be expanded, regardless of
whether the variable exists or not. Cannot be updated. More info:
https://kubernetes.io/docs/tasks/inject-data-application/define-comma\
nd-argument-container/#running-a-command-in-a-shell"
items:
type: string
type: array
env:
description:
List of environment variables to set in the container. Cannot be
updated.
items:
$ref: "#/definitions/io.k8s.api.core.v1.EnvVar"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
envFrom:
description:
List of sources to populate environment variables in the container.
The keys defined within a source must be a C_IDENTIFIER. All invalid
keys will be reported as an event when the container is starting. When
a key exists in multiple sources, the value associated with the last
source will take precedence. Values defined by an Env with a duplicate
key will take precedence. Cannot be updated.
items:
$ref: "#/definitions/io.k8s.api.core.v1.EnvFromSource"
type: array
image:
description: "Docker image name. More info:
https://kubernetes.io/docs/concepts/containers/images"
type: string
imagePullPolicy:
description:
"Image pull policy. One of Always, Never, IfNotPresent. Defaults to
Always if :latest tag is specified, or IfNotPresent otherwise. Cannot
be updated. More info:
https://kubernetes.io/docs/concepts/containers/images#updating-images"
type: string
lifecycle:
$ref: "#/definitions/io.k8s.api.core.v1.Lifecycle"
description: Lifecycle is not allowed for ephemeral containers.
livenessProbe:
$ref: "#/definitions/io.k8s.api.core.v1.Probe"
description: Probes are not allowed for ephemeral containers.
name:
description:
Name of the ephemeral container specified as a DNS_LABEL. This name
must be unique among all containers, init containers and ephemeral
containers.
type: string
ports:
description: Ports are not allowed for ephemeral containers.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerPort"
type: array
readinessProbe:
$ref: "#/definitions/io.k8s.api.core.v1.Probe"
description: Probes are not allowed for ephemeral containers.
resources:
$ref: "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
description:
Resources are not allowed for ephemeral containers. Ephemeral
containers use spare resources already allocated to the pod.
securityContext:
$ref: "#/definitions/io.k8s.api.core.v1.SecurityContext"
description: SecurityContext is not allowed for ephemeral containers.
startupProbe:
$ref: "#/definitions/io.k8s.api.core.v1.Probe"
description: Probes are not allowed for ephemeral containers.
stdin:
description:
Whether this container should allocate a buffer for stdin in the
container runtime. If this is not set, reads from stdin in the
container will always result in EOF. Default is false.
type: boolean
stdinOnce:
description:
Whether the container runtime should close the stdin channel after
it has been opened by a single attach. When stdin is true the stdin
stream will remain open across multiple attach sessions. If stdinOnce
is set to true, stdin is opened on container start, is empty until the
first client attaches to stdin, and then remains open and accepts data
until the client disconnects, at which time stdin is closed and
remains closed until the container is restarted. If this flag is
false, a container processes that reads from stdin will never receive
an EOF. Default is false
type: boolean
targetContainerName:
description:
If set, the name of the container from PodSpec that this ephemeral
container targets. The ephemeral container will be run in the
namespaces (IPC, PID, etc) of this container. If not set then the
ephemeral container is run in whatever namespaces are shared for the
pod. Note that the container runtime must support this feature.
type: string
terminationMessagePath:
description: "Optional: Path at which the file to which the container's
termination message will be written is mounted into the container's
filesystem. Message written is intended to be brief final status, such
as an assertion failure message. Will be truncated by the node if
greater than 4096 bytes. The total message length across all
containers will be limited to 12kb. Defaults to /dev/termination-log.
Cannot be updated."
type: string
terminationMessagePolicy:
description:
Indicate how the termination message should be populated. File will
use the contents of terminationMessagePath to populate the container
status message on both success and failure. FallbackToLogsOnError will
use the last chunk of container log output if the termination message
file is empty and the container exited with an error. The log output
is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
to File. Cannot be updated.
type: string
tty:
description:
Whether this container should allocate a TTY for itself, also
requires 'stdin' to be true. Default is false.
type: boolean
volumeDevices:
description: volumeDevices is the list of block devices to be used by the container.
items:
$ref: "#/definitions/io.k8s.api.core.v1.VolumeDevice"
type: array
x-kubernetes-patch-merge-key: devicePath
x-kubernetes-patch-strategy: merge
volumeMounts:
description:
Pod volumes to mount into the container's filesystem. Cannot be
updated.
items:
$ref: "#/definitions/io.k8s.api.core.v1.VolumeMount"
type: array
x-kubernetes-patch-merge-key: mountPath
x-kubernetes-patch-strategy: merge
workingDir:
description:
Container's working directory. If not specified, the container
runtime's default will be used, which might be configured in the
container image. Cannot be updated.
type: string
required:
- name
type: object
io.k8s.api.core.v1.EphemeralVolumeSource:
description: Represents an ephemeral volume that is handled by a normal storage driver.
properties:
readOnly:
description:
Specifies a read-only configuration for the volume. Defaults to
false (read/write).
type: boolean
volumeClaimTemplate:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimTemplate"
description: >-
Will be used to create a stand-alone PVC to provision the volume. The
pod in which this EphemeralVolumeSource is embedded will be the owner
of the PVC, i.e. the PVC will be deleted together with the pod. The
name of the PVC will be `<pod name>-<volume name>` where `<volume
name>` is the name from the `PodSpec.Volumes` array entry. Pod
validation will reject the pod if the concatenated name is not valid
for a PVC (for example, too long).
An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster.
This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created.
Required, must not be nil.
type: object
io.k8s.api.core.v1.Event:
description: Event is a report of an event somewhere in the cluster. Events
have a limited retention time and triggers and messages may evolve with
time. Event consumers should not rely on the timing of an event with a
given Reason reflecting a consistent underlying trigger, or the continued
existence of events with that Reason. Events should be treated as
informative, best-effort, supplemental data.
properties:
action:
description: What action was taken/failed regarding to the Regarding object.
type: string
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
count:
description: The number of times this event has occurred.
format: int32
type: integer
eventTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description: Time when this Event was first observed.
firstTimestamp:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
The time at which the event was first recorded. (Time of server
receipt is in TypeMeta.)
involvedObject:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description: The object that this event is about.
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
lastTimestamp:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
The time at which the most recent occurrence of this event was
recorded.
message:
description: A human-readable description of the status of this operation.
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
reason:
description:
This should be a short, machine understandable string that gives
the reason for the transition into the object's current status.
type: string
related:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description: Optional secondary object for more complex actions.
reportingComponent:
description: Name of the controller that emitted this Event, e.g.
`kubernetes.io/kubelet`.
type: string
reportingInstance:
description: ID of the controller instance, e.g. `kubelet-xyzf`.
type: string
series:
$ref: "#/definitions/io.k8s.api.core.v1.EventSeries"
description:
Data about the Event series this event represents or nil if it's a
singleton Event.
source:
$ref: "#/definitions/io.k8s.api.core.v1.EventSource"
description:
The component reporting this event. Should be a short machine
understandable string.
type:
description:
Type of this event (Normal, Warning), new types could be added in
the future
type: string
required:
- metadata
- involvedObject
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: Event
version: v1
io.k8s.api.core.v1.EventList:
description: EventList is a list of events.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of events
items:
$ref: "#/definitions/io.k8s.api.core.v1.Event"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: EventList
version: v1
io.k8s.api.core.v1.EventSeries:
description: EventSeries contain information on series of events, i.e. thing
that was/is happening continuously for some time.
properties:
count:
description: Number of occurrences in this series up to the last heartbeat time
format: int32
type: integer
lastObservedTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description: Time of the last occurrence observed
type: object
io.k8s.api.core.v1.EventSource:
description: EventSource contains information for an event.
properties:
component:
description: Component from which the event is generated.
type: string
host:
description: Node name on which the event is generated.
type: string
type: object
io.k8s.api.core.v1.ExecAction:
description: ExecAction describes a "run in container" action.
properties:
command:
description:
Command is the command line to execute inside the container, the
working directory for the command is root ('/') in the container's
filesystem. The command is simply exec'd, it is not run inside a
shell, so traditional shell instructions ('|', etc) won't work. To use
a shell, you need to explicitly call out to that shell. Exit status of
0 is treated as live/healthy and non-zero is unhealthy.
items:
type: string
type: array
type: object
io.k8s.api.core.v1.FCVolumeSource:
description:
Represents a Fibre Channel volume. Fibre Channel volumes can only
be mounted as read/write once. Fibre Channel volumes support ownership
management and SELinux relabeling.
properties:
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
inferred to be "ext4" if unspecified.
type: string
lun:
description: "Optional: FC target lun number"
format: int32
type: integer
readOnly:
description:
"Optional: Defaults to false (read/write). ReadOnly here will force
the ReadOnly setting in VolumeMounts."
type: boolean
targetWWNs:
description: "Optional: FC target worldwide names (WWNs)"
items:
type: string
type: array
wwids:
description:
"Optional: FC volume world wide identifiers (wwids) Either wwids or
combination of targetWWNs and lun must be set, but not both
simultaneously."
items:
type: string
type: array
type: object
io.k8s.api.core.v1.FlexPersistentVolumeSource:
description:
FlexPersistentVolumeSource represents a generic persistent volume
resource that is provisioned/attached using an exec based plugin.
properties:
driver:
description: Driver is the name of the driver to use for this volume.
type: string
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". The default
filesystem depends on FlexVolume script.
type: string
options:
additionalProperties:
type: string
description: "Optional: Extra command options if any."
type: object
readOnly:
description:
"Optional: Defaults to false (read/write). ReadOnly here will force
the ReadOnly setting in VolumeMounts."
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description:
"Optional: SecretRef is reference to the secret object containing
sensitive information to pass to the plugin scripts. This may be empty
if no secret object is specified. If the secret object contains more
than one secret, all secrets are passed to the plugin scripts."
required:
- driver
type: object
io.k8s.api.core.v1.FlexVolumeSource:
description: FlexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
properties:
driver:
description: Driver is the name of the driver to use for this volume.
type: string
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". The default
filesystem depends on FlexVolume script.
type: string
options:
additionalProperties:
type: string
description: "Optional: Extra command options if any."
type: object
readOnly:
description:
"Optional: Defaults to false (read/write). ReadOnly here will force
the ReadOnly setting in VolumeMounts."
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
description:
"Optional: SecretRef is reference to the secret object containing
sensitive information to pass to the plugin scripts. This may be empty
if no secret object is specified. If the secret object contains more
than one secret, all secrets are passed to the plugin scripts."
required:
- driver
type: object
io.k8s.api.core.v1.FlockerVolumeSource:
description:
Represents a Flocker volume mounted by the Flocker agent. One and
only one of datasetName and datasetUUID should be set. Flocker volumes do
not support ownership management or SELinux relabeling.
properties:
datasetName:
description:
Name of the dataset stored as metadata -> name on the dataset for
Flocker should be considered as deprecated
type: string
datasetUUID:
description: UUID of the dataset. This is unique identifier of a Flocker dataset
type: string
type: object
io.k8s.api.core.v1.GCEPersistentDiskVolumeSource:
description: >-
Represents a Persistent Disk resource in Google Compute Engine.
A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.
properties:
fsType:
description:
'Filesystem type of the volume that you want to mount. Tip: Ensure
that the filesystem type is supported by the host operating system.
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if
unspecified. More info:
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
type: string
partition:
description:
'The partition in the volume that you want to mount. If omitted,
the default is to mount by volume name. Examples: For volume
/dev/sda1, you specify the partition as "1". Similarly, the volume
partition for /dev/sda is "0" (or you can leave the property empty).
More info:
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
format: int32
type: integer
pdName:
description:
"Unique name of the PD resource in GCE. Used to identify the disk
in GCE. More info:
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk"
type: string
readOnly:
description:
"ReadOnly here will force the ReadOnly setting in VolumeMounts.
Defaults to false. More info:
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk"
type: boolean
required:
- pdName
type: object
io.k8s.api.core.v1.GitRepoVolumeSource:
description: >-
Represents a volume that is populated with the contents of a git
repository. Git repo volumes do not support ownership management. Git repo
volumes support SELinux relabeling.
DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.
properties:
directory:
description:
Target directory name. Must not contain or start with '..'. If '.'
is supplied, the volume directory will be the git
repository. Otherwise, if specified, the volume will contain the git
repository in the subdirectory with the given name.
type: string
repository:
description: Repository URL
type: string
revision:
description: Commit hash for the specified revision.
type: string
required:
- repository
type: object
io.k8s.api.core.v1.GlusterfsPersistentVolumeSource:
description: Represents a Glusterfs mount that lasts the lifetime of a pod.
Glusterfs volumes do not support ownership management or SELinux
relabeling.
properties:
endpoints:
description: "EndpointsName is the endpoint name that details Glusterfs
topology. More info:
https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod"
type: string
endpointsNamespace:
description:
"EndpointsNamespace is the namespace that contains Glusterfs
endpoint. If this field is empty, the EndpointNamespace defaults to
the same namespace as the bound PVC. More info:
https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod"
type: string
path:
description: "Path is the Glusterfs volume path. More info:
https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod"
type: string
readOnly:
description:
"ReadOnly here will force the Glusterfs volume to be mounted with
read-only permissions. Defaults to false. More info:
https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod"
type: boolean
required:
- endpoints
- path
type: object
io.k8s.api.core.v1.GlusterfsVolumeSource:
description: Represents a Glusterfs mount that lasts the lifetime of a pod.
Glusterfs volumes do not support ownership management or SELinux
relabeling.
properties:
endpoints:
description: "EndpointsName is the endpoint name that details Glusterfs
topology. More info:
https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod"
type: string
path:
description: "Path is the Glusterfs volume path. More info:
https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod"
type: string
readOnly:
description:
"ReadOnly here will force the Glusterfs volume to be mounted with
read-only permissions. Defaults to false. More info:
https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod"
type: boolean
required:
- endpoints
- path
type: object
io.k8s.api.core.v1.HTTPGetAction:
description: HTTPGetAction describes an action based on HTTP Get requests.
properties:
host:
description:
Host name to connect to, defaults to the pod IP. You probably want
to set "Host" in httpHeaders instead.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows repeated headers.
items:
$ref: "#/definitions/io.k8s.api.core.v1.HTTPHeader"
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description:
Name or number of the port to access on the container. Number must
be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
scheme:
description: Scheme to use for connecting to the host. Defaults to HTTP.
type: string
required:
- port
type: object
io.k8s.api.core.v1.HTTPHeader:
description: HTTPHeader describes a custom header to be used in HTTP probes
properties:
name:
description: The header field name
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
io.k8s.api.core.v1.Handler:
description: Handler defines a specific action that should be taken
properties:
exec:
$ref: "#/definitions/io.k8s.api.core.v1.ExecAction"
description: One and only one of the following should be specified. Exec
specifies the action to take.
httpGet:
$ref: "#/definitions/io.k8s.api.core.v1.HTTPGetAction"
description: HTTPGet specifies the http request to perform.
tcpSocket:
$ref: "#/definitions/io.k8s.api.core.v1.TCPSocketAction"
description:
TCPSocket specifies an action involving a TCP port. TCP hooks not
yet supported
type: object
io.k8s.api.core.v1.HostAlias:
description:
HostAlias holds the mapping between IP and hostnames that will be
injected as an entry in the pod's hosts file.
properties:
hostnames:
description: Hostnames for the above IP address.
items:
type: string
type: array
ip:
description: IP address of the host file entry.
type: string
type: object
io.k8s.api.core.v1.HostPathVolumeSource:
description:
Represents a host path mapped into a pod. Host path volumes do not
support ownership management or SELinux relabeling.
properties:
path:
description:
"Path of the directory on the host. If the path is a symlink, it
will follow the link to the real path. More info:
https://kubernetes.io/docs/concepts/storage/volumes#hostpath"
type: string
type:
description: 'Type for HostPath Volume Defaults to "" More info:
https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
type: string
required:
- path
type: object
io.k8s.api.core.v1.ISCSIPersistentVolumeSource:
description:
ISCSIPersistentVolumeSource represents an ISCSI disk. ISCSI volumes
can only be mounted as read/write once. ISCSI volumes support ownership
management and SELinux relabeling.
properties:
chapAuthDiscovery:
description: whether support iSCSI Discovery CHAP authentication
type: boolean
chapAuthSession:
description: whether support iSCSI Session CHAP authentication
type: boolean
fsType:
description:
'Filesystem type of the volume that you want to mount. Tip: Ensure
that the filesystem type is supported by the host operating system.
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if
unspecified. More info:
https://kubernetes.io/docs/concepts/storage/volumes#iscsi'
type: string
initiatorName:
description:
Custom iSCSI Initiator Name. If initiatorName is specified with
iscsiInterface simultaneously, new iSCSI interface <target
portal>:<volume name> will be created for the connection.
type: string
iqn:
description: Target iSCSI Qualified Name.
type: string
iscsiInterface:
description:
iSCSI Interface Name that uses an iSCSI transport. Defaults to
'default' (tcp).
type: string
lun:
description: iSCSI Target Lun number.
format: int32
type: integer
portals:
description: iSCSI Target Portal List. The Portal is either an IP or
ip_addr:port if the port is other than default (typically TCP ports
860 and 3260).
items:
type: string
type: array
readOnly:
description:
ReadOnly here will force the ReadOnly setting in VolumeMounts.
Defaults to false.
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description: CHAP Secret for iSCSI target and initiator authentication
targetPortal:
description:
iSCSI Target Portal. The Portal is either an IP or ip_addr:port if
the port is other than default (typically TCP ports 860 and 3260).
type: string
required:
- targetPortal
- iqn
- lun
type: object
io.k8s.api.core.v1.ISCSIVolumeSource:
description: Represents an ISCSI disk. ISCSI volumes can only be mounted as
read/write once. ISCSI volumes support ownership management and SELinux
relabeling.
properties:
chapAuthDiscovery:
description: whether support iSCSI Discovery CHAP authentication
type: boolean
chapAuthSession:
description: whether support iSCSI Session CHAP authentication
type: boolean
fsType:
description:
'Filesystem type of the volume that you want to mount. Tip: Ensure
that the filesystem type is supported by the host operating system.
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if
unspecified. More info:
https://kubernetes.io/docs/concepts/storage/volumes#iscsi'
type: string
initiatorName:
description:
Custom iSCSI Initiator Name. If initiatorName is specified with
iscsiInterface simultaneously, new iSCSI interface <target
portal>:<volume name> will be created for the connection.
type: string
iqn:
description: Target iSCSI Qualified Name.
type: string
iscsiInterface:
description:
iSCSI Interface Name that uses an iSCSI transport. Defaults to
'default' (tcp).
type: string
lun:
description: iSCSI Target Lun number.
format: int32
type: integer
portals:
description: iSCSI Target Portal List. The portal is either an IP or
ip_addr:port if the port is other than default (typically TCP ports
860 and 3260).
items:
type: string
type: array
readOnly:
description:
ReadOnly here will force the ReadOnly setting in VolumeMounts.
Defaults to false.
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
description: CHAP Secret for iSCSI target and initiator authentication
targetPortal:
description:
iSCSI Target Portal. The Portal is either an IP or ip_addr:port if
the port is other than default (typically TCP ports 860 and 3260).
type: string
required:
- targetPortal
- iqn
- lun
type: object
io.k8s.api.core.v1.KeyToPath:
description: Maps a string key to a path within a volume.
properties:
key:
description: The key to project.
type: string
mode:
description:
"Optional: mode bits used to set permissions on this file. Must be
an octal value between 0000 and 0777 or a decimal value between 0 and
511. YAML accepts both octal and decimal values, JSON requires decimal
values for mode bits. If not specified, the volume defaultMode will be
used. This might be in conflict with other options that affect the
file mode, like fsGroup, and the result can be other mode bits set."
format: int32
type: integer
path:
description:
The relative path of the file to map the key to. May not be an
absolute path. May not contain the path element '..'. May not start
with the string '..'.
type: string
required:
- key
- path
type: object
io.k8s.api.core.v1.Lifecycle:
description:
Lifecycle describes actions that the management system should take
in response to container lifecycle events. For the PostStart and PreStop
lifecycle handlers, management of the container blocks until the action is
complete, unless the container process fails, in which case the handler is
aborted.
properties:
postStart:
$ref: "#/definitions/io.k8s.api.core.v1.Handler"
description:
"PostStart is called immediately after a container is created. If
the handler fails, the container is terminated and restarted according
to its restart policy. Other management of the container blocks until
the hook completes. More info:
https://kubernetes.io/docs/concepts/containers/container-lifecycle-ho\
oks/#container-hooks"
preStop:
$ref: "#/definitions/io.k8s.api.core.v1.Handler"
description:
"PreStop is called immediately before a container is terminated due
to an API request or management event such as liveness/startup probe
failure, preemption, resource contention, etc. The handler is not
called if the container crashes or exits. The reason for termination
is passed to the handler. The Pod's termination grace period countdown
begins before the PreStop hooked is executed. Regardless of the
outcome of the handler, the container will eventually terminate within
the Pod's termination grace period. Other management of the container
blocks until the hook completes or until the termination grace period
is reached. More info:
https://kubernetes.io/docs/concepts/containers/container-lifecycle-ho\
oks/#container-hooks"
type: object
io.k8s.api.core.v1.LimitRange:
description:
LimitRange sets resource usage limits for each kind of resource in
a Namespace.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.LimitRangeSpec"
description: "Spec defines the limits enforced. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: LimitRange
version: v1
io.k8s.api.core.v1.LimitRangeItem:
description:
LimitRangeItem defines a min/max usage limit for any resource that
matches on kind.
properties:
default:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
Default resource requirement limit value by resource name if
resource limit is omitted.
type: object
defaultRequest:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
DefaultRequest is the default resource requirement request value by
resource name if resource request is omitted.
type: object
max:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: Max usage constraints on this kind by resource name.
type: object
maxLimitRequestRatio:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
MaxLimitRequestRatio if specified, the named resource must have a
request and limit that are both non-zero where limit divided by
request is less than or equal to the enumerated value; this represents
the max burst for the named resource.
type: object
min:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: Min usage constraints on this kind by resource name.
type: object
type:
description: Type of resource that this limit applies to.
type: string
required:
- type
type: object
io.k8s.api.core.v1.LimitRangeList:
description: LimitRangeList is a list of LimitRange items.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "Items is a list of LimitRange objects. More info:
https://kubernetes.io/docs/concepts/configuration/manage-compute-reso\
urces-container/"
items:
$ref: "#/definitions/io.k8s.api.core.v1.LimitRange"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: LimitRangeList
version: v1
io.k8s.api.core.v1.LimitRangeSpec:
description: LimitRangeSpec defines a min/max usage limit for resources that
match on kind.
properties:
limits:
description: Limits is the list of LimitRangeItem objects that are enforced.
items:
$ref: "#/definitions/io.k8s.api.core.v1.LimitRangeItem"
type: array
required:
- limits
type: object
io.k8s.api.core.v1.LoadBalancerIngress:
description: "LoadBalancerIngress represents the status of a load-balancer
ingress point: traffic intended for the service should be sent to an
ingress point."
properties:
hostname:
description:
Hostname is set for load-balancer ingress points that are DNS based
(typically AWS load-balancers)
type: string
ip:
description:
IP is set for load-balancer ingress points that are IP based
(typically GCE or OpenStack load-balancers)
type: string
ports:
description:
Ports is a list of records of service ports If used, every port
defined in the service should have an entry in it
items:
$ref: "#/definitions/io.k8s.api.core.v1.PortStatus"
type: array
x-kubernetes-list-type: atomic
type: object
io.k8s.api.core.v1.LoadBalancerStatus:
description: LoadBalancerStatus represents the status of a load-balancer.
properties:
ingress:
description:
Ingress is a list containing ingress points for the load-balancer.
Traffic intended for the service should be sent to these ingress
points.
items:
$ref: "#/definitions/io.k8s.api.core.v1.LoadBalancerIngress"
type: array
type: object
io.k8s.api.core.v1.LocalObjectReference:
description:
LocalObjectReference contains enough information to let you locate
the referenced object inside the same namespace.
properties:
name:
description: "Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
type: object
io.k8s.api.core.v1.LocalVolumeSource:
description:
Local represents directly-attached storage with node affinity (Beta
feature)
properties:
fsType:
description:
Filesystem type to mount. It applies only when the Path is a block
device. Must be a filesystem type supported by the host operating
system. Ex. "ext4", "xfs", "ntfs". The default value is to auto-select
a fileystem if unspecified.
type: string
path:
description: The full path to the volume on the node. It can be either a
directory or block device (disk, partition, ...).
type: string
required:
- path
type: object
io.k8s.api.core.v1.NFSVolumeSource:
description: Represents an NFS mount that lasts the lifetime of a pod. NFS
volumes do not support ownership management or SELinux relabeling.
properties:
path:
description: "Path that is exported by the NFS server. More info:
https://kubernetes.io/docs/concepts/storage/volumes#nfs"
type: string
readOnly:
description: "ReadOnly here will force the NFS export to be mounted with
read-only permissions. Defaults to false. More info:
https://kubernetes.io/docs/concepts/storage/volumes#nfs"
type: boolean
server:
description:
"Server is the hostname or IP address of the NFS server. More info:
https://kubernetes.io/docs/concepts/storage/volumes#nfs"
type: string
required:
- server
- path
type: object
io.k8s.api.core.v1.Namespace:
description:
Namespace provides a scope for Names. Use of multiple namespaces is
optional.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.NamespaceSpec"
description: "Spec defines the behavior of the Namespace. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.core.v1.NamespaceStatus"
description:
"Status describes the current status of a Namespace. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: Namespace
version: v1
io.k8s.api.core.v1.NamespaceCondition:
description: NamespaceCondition contains details about state of namespace.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
message:
type: string
reason:
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of namespace controller condition.
type: string
required:
- type
- status
type: object
io.k8s.api.core.v1.NamespaceList:
description: NamespaceList is a list of Namespaces.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description:
"Items is the list of Namespace objects in the list. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
espaces/"
items:
$ref: "#/definitions/io.k8s.api.core.v1.Namespace"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: NamespaceList
version: v1
io.k8s.api.core.v1.NamespaceSpec:
description: NamespaceSpec describes the attributes on a Namespace.
properties:
finalizers:
description:
"Finalizers is an opaque list of values that must be empty to
permanently remove object from storage. More info:
https://kubernetes.io/docs/tasks/administer-cluster/namespaces/"
items:
type: string
type: array
type: object
io.k8s.api.core.v1.NamespaceStatus:
description: NamespaceStatus is information about the current status of a Namespace.
properties:
conditions:
description:
Represents the latest available observations of a namespace's
current state.
items:
$ref: "#/definitions/io.k8s.api.core.v1.NamespaceCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
phase:
description:
"Phase is the current lifecycle phase of the namespace. More info:
https://kubernetes.io/docs/tasks/administer-cluster/namespaces/"
type: string
type: object
io.k8s.api.core.v1.Node:
description:
Node is a worker node in Kubernetes. Each node will have a unique
identifier in the cache (i.e. in etcd).
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.NodeSpec"
description: Spec defines the behavior of a node.
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status:
$ref: "#/definitions/io.k8s.api.core.v1.NodeStatus"
description:
"Most recently observed status of the node. Populated by the
system. Read-only. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: Node
version: v1
io.k8s.api.core.v1.NodeAddress:
description: NodeAddress contains information for the node's address.
properties:
address:
description: The node address.
type: string
type:
description: Node address type, one of Hostname, ExternalIP or InternalIP.
type: string
required:
- type
- address
type: object
io.k8s.api.core.v1.NodeAffinity:
description: Node affinity is a group of node affinity scheduling rules.
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description:
The scheduler will prefer to schedule pods to nodes that satisfy
the affinity expressions specified by this field, but it may choose a
node that violates one or more of the expressions. The node that is
most preferred is the one with the greatest sum of weights, i.e. for
each node that meets all of the scheduling requirements (resource
request, requiredDuringScheduling affinity expressions, etc.), compute
a sum by iterating through the elements of this field and adding
"weight" to the sum if the node matches the corresponding
matchExpressions; the node(s) with the highest sum are the most
preferred.
items:
$ref: "#/definitions/io.k8s.api.core.v1.PreferredSchedulingTerm"
type: array
requiredDuringSchedulingIgnoredDuringExecution:
$ref: "#/definitions/io.k8s.api.core.v1.NodeSelector"
description:
If the affinity requirements specified by this field are not met at
scheduling time, the pod will not be scheduled onto the node. If the
affinity requirements specified by this field cease to be met at some
point during pod execution (e.g. due to an update), the system may or
may not try to eventually evict the pod from its node.
type: object
io.k8s.api.core.v1.NodeCondition:
description: NodeCondition contains condition information for a node.
properties:
lastHeartbeatTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time we got an update on a given condition.
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition transit from one status to another.
message:
description: Human readable message indicating details about last transition.
type: string
reason:
description: (brief) reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of node condition.
type: string
required:
- type
- status
type: object
io.k8s.api.core.v1.NodeConfigSource:
description:
NodeConfigSource specifies a source of node configuration. Exactly
one subfield (excluding metadata) must be non-nil.
properties:
configMap:
$ref: "#/definitions/io.k8s.api.core.v1.ConfigMapNodeConfigSource"
description: ConfigMap is a reference to a Node's ConfigMap
type: object
io.k8s.api.core.v1.NodeConfigStatus:
description: NodeConfigStatus describes the status of the config assigned by
Node.Spec.ConfigSource.
properties:
active:
$ref: "#/definitions/io.k8s.api.core.v1.NodeConfigSource"
description:
Active reports the checkpointed config the node is actively using.
Active will represent either the current version of the Assigned
config, or the current LastKnownGood config, depending on whether
attempting to use the Assigned config results in an error.
assigned:
$ref: "#/definitions/io.k8s.api.core.v1.NodeConfigSource"
description:
Assigned reports the checkpointed config the node will try to use.
When Node.Spec.ConfigSource is updated, the node checkpoints the
associated config payload to local disk, along with a record
indicating intended config. The node refers to this record to choose
its config checkpoint, and reports this record in Assigned. Assigned
only updates in the status after the record has been checkpointed to
disk. When the Kubelet is restarted, it tries to make the Assigned
config the Active config by loading and validating the checkpointed
payload identified by Assigned.
error:
description:
Error describes any problems reconciling the Spec.ConfigSource to
the Active config. Errors may occur, for example, attempting to
checkpoint Spec.ConfigSource to the local Assigned record, attempting
to checkpoint the payload associated with Spec.ConfigSource,
attempting to load or validate the Assigned config, etc. Errors may
occur at different points while syncing config. Earlier errors (e.g.
download or checkpointing errors) will not result in a rollback to
LastKnownGood, and may resolve across Kubelet retries. Later errors
(e.g. loading or validating a checkpointed config) will result in a
rollback to LastKnownGood. In the latter case, it is usually possible
to resolve the error by fixing the config assigned in
Spec.ConfigSource. You can find additional information for debugging
by searching the error message in the Kubelet log. Error is a
human-readable description of the error state; machines can check
whether or not Error is empty, but should not rely on the stability of
the Error text across Kubelet versions.
type: string
lastKnownGood:
$ref: "#/definitions/io.k8s.api.core.v1.NodeConfigSource"
description:
LastKnownGood reports the checkpointed config the node will fall
back to when it encounters an error attempting to use the Assigned
config. The Assigned config becomes the LastKnownGood config when the
node determines that the Assigned config is stable and correct. This
is currently implemented as a 10-minute soak period starting when the
local record of Assigned config is updated. If the Assigned config is
Active at the end of this period, it becomes the LastKnownGood. Note
that if Spec.ConfigSource is reset to nil (use local defaults), the
LastKnownGood is also immediately reset to nil, because the local
default config is always assumed good. You should not make assumptions
about the node's method of determining config stability and
correctness, as this may change or become configurable in the future.
type: object
io.k8s.api.core.v1.NodeDaemonEndpoints:
description: NodeDaemonEndpoints lists ports opened by daemons running on the Node.
properties:
kubeletEndpoint:
$ref: "#/definitions/io.k8s.api.core.v1.DaemonEndpoint"
description: Endpoint on which Kubelet is listening.
type: object
io.k8s.api.core.v1.NodeList:
description:
NodeList is the whole list of all Nodes which have been registered
with master.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of nodes
items:
$ref: "#/definitions/io.k8s.api.core.v1.Node"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: NodeList
version: v1
io.k8s.api.core.v1.NodeSelector:
description:
A node selector represents the union of the results of one or more
label queries over a set of nodes; that is, it represents the OR of the
selectors represented by the node selector terms.
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
$ref: "#/definitions/io.k8s.api.core.v1.NodeSelectorTerm"
type: array
required:
- nodeSelectorTerms
type: object
io.k8s.api.core.v1.NodeSelectorRequirement:
description:
A node selector requirement is a selector that contains values, a
key, and an operator that relates the key and values.
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description:
Represents a key's relationship to a set of values. Valid operators
are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
type: string
values:
description:
An array of string values. If the operator is In or NotIn, the
values array must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty. If the operator is Gt or
Lt, the values array must have a single element, which will be
interpreted as an integer. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
io.k8s.api.core.v1.NodeSelectorTerm:
description: A null or empty node selector term matches no objects. The
requirements of them are ANDed. The TopologySelectorTerm type implements a
subset of the NodeSelectorTerm.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
$ref: "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement"
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
$ref: "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement"
type: array
type: object
io.k8s.api.core.v1.NodeSpec:
description: NodeSpec describes the attributes that a node is created with.
properties:
configSource:
$ref: "#/definitions/io.k8s.api.core.v1.NodeConfigSource"
description: If specified, the source to get node configuration from The
DynamicKubeletConfig feature gate must be enabled for the Kubelet to
use this field
externalID:
description:
"Deprecated. Not all kubelets will set this field. Remove field
after 1.13. see: https://issues.k8s.io/61966"
type: string
podCIDR:
description: PodCIDR represents the pod IP range assigned to the node.
type: string
podCIDRs:
description:
podCIDRs represents the IP ranges assigned to the node for usage by
Pods on that node. If this field is specified, the 0th entry must
match the podCIDR field. It may contain at most 1 value for each of
IPv4 and IPv6.
items:
type: string
type: array
x-kubernetes-patch-strategy: merge
providerID:
description:
"ID of the node assigned by the cloud provider in the format:
<ProviderName>://<ProviderSpecificNodeID>"
type: string
taints:
description: If specified, the node's taints.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Taint"
type: array
unschedulable:
description: "Unschedulable controls node schedulability of new pods. By
default, node is schedulable. More info:
https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administr\
ation"
type: boolean
type: object
io.k8s.api.core.v1.NodeStatus:
description: NodeStatus is information about the current status of a node.
properties:
addresses:
description:
"List of addresses reachable to the node. Queried from cloud
provider, if available. More info:
https://kubernetes.io/docs/concepts/nodes/node/#addresses Note: This
field is declared as mergeable, but the merge key is not sufficiently
unique, which can cause data corruption when it is merged. Callers
should instead use a full-replacement patch. See
http://pr.k8s.io/79391 for an example."
items:
$ref: "#/definitions/io.k8s.api.core.v1.NodeAddress"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
allocatable:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
Allocatable represents the resources of a node that are available
for scheduling. Defaults to Capacity.
type: object
capacity:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
"Capacity represents the total resources of a node. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#capaci\
ty"
type: object
conditions:
description:
"Conditions is an array of current observed node conditions. More
info: https://kubernetes.io/docs/concepts/nodes/node/#condition"
items:
$ref: "#/definitions/io.k8s.api.core.v1.NodeCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
config:
$ref: "#/definitions/io.k8s.api.core.v1.NodeConfigStatus"
description:
Status of the config assigned to the node via the dynamic Kubelet
config feature.
daemonEndpoints:
$ref: "#/definitions/io.k8s.api.core.v1.NodeDaemonEndpoints"
description: Endpoints of daemons running on the Node.
images:
description: List of container images on this node
items:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerImage"
type: array
nodeInfo:
$ref: "#/definitions/io.k8s.api.core.v1.NodeSystemInfo"
description: "Set of ids/uuids to uniquely identify the node. More info:
https://kubernetes.io/docs/concepts/nodes/node/#info"
phase:
description:
"NodePhase is the recently observed lifecycle phase of the node.
More info: https://kubernetes.io/docs/concepts/nodes/node/#phase The
field is never populated, and now is deprecated."
type: string
volumesAttached:
description: List of volumes that are attached to the node.
items:
$ref: "#/definitions/io.k8s.api.core.v1.AttachedVolume"
type: array
volumesInUse:
description: List of attachable volumes in use (mounted) by the node.
items:
type: string
type: array
type: object
io.k8s.api.core.v1.NodeSystemInfo:
description: NodeSystemInfo is a set of ids/uuids to uniquely identify the node.
properties:
architecture:
description: The Architecture reported by the node
type: string
bootID:
description: Boot ID reported by the node.
type: string
containerRuntimeVersion:
description:
ContainerRuntime Version reported by the node through runtime
remote API (e.g. docker://1.5.0).
type: string
kernelVersion:
description: Kernel Version reported by the node from 'uname -r' (e.g.
3.16.0-0.bpo.4-amd64).
type: string
kubeProxyVersion:
description: KubeProxy Version reported by the node.
type: string
kubeletVersion:
description: Kubelet Version reported by the node.
type: string
machineID:
description:
"MachineID reported by the node. For unique machine identification
in the cluster this field is preferred. Learn more from man(5)
machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html"
type: string
operatingSystem:
description: The Operating System reported by the node
type: string
osImage:
description:
OS Image reported by the node from /etc/os-release (e.g. Debian
GNU/Linux 7 (wheezy)).
type: string
systemUUID:
description:
SystemUUID reported by the node. For unique machine identification
MachineID is preferred. This field is specific to Red Hat hosts
https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid
type: string
required:
- machineID
- systemUUID
- bootID
- kernelVersion
- osImage
- containerRuntimeVersion
- kubeletVersion
- kubeProxyVersion
- operatingSystem
- architecture
type: object
io.k8s.api.core.v1.ObjectFieldSelector:
description: ObjectFieldSelector selects an APIVersioned field of an object.
properties:
apiVersion:
description: Version of the schema the FieldPath is written in terms of,
defaults to "v1".
type: string
fieldPath:
description: Path of the field to select in the specified API version.
type: string
required:
- fieldPath
type: object
io.k8s.api.core.v1.ObjectReference:
description:
ObjectReference contains enough information to let you inspect or
modify the referred object.
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description:
'If referring to a piece of an object instead of an entire object,
this string should contain a valid JSON/Go field access statement,
such as desiredState.manifest.containers[2]. For example, if the
object reference is to a container within a pod, this would take on a
value like: "spec.containers{name}" (where "name" refers to the name
of the container that triggered the event) or if no container name is
specified "spec.containers[2]" (container with index 2 in this pod).
This syntax is chosen only to have some well-defined way of
referencing a part of an object.'
type: string
kind:
description: "Kind of the referent. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
name:
description: "Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
namespace:
description: "Namespace of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
espaces/"
type: string
resourceVersion:
description:
"Specific resourceVersion to which this reference is made, if any.
More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#concurrency-control-and-consistency"
type: string
uid:
description: "UID of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#uids"
type: string
type: object
io.k8s.api.core.v1.PersistentVolume:
description: "PersistentVolume (PV) is a storage resource provisioned by an
administrator. It is analogous to a node. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes"
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeSpec"
description:
"Spec defines a specification of a persistent volume owned by the
cluster. Provisioned by an administrator. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#persis\
tent-volumes"
status:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeStatus"
description: "Status represents the current information/status for the
persistent volume. Populated by the system. Read-only. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#persis\
tent-volumes"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: PersistentVolume
version: v1
io.k8s.api.core.v1.PersistentVolumeClaim:
description: PersistentVolumeClaim is a user's request for and claim to a
persistent volume
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimSpec"
description:
"Spec defines the desired characteristics of a volume requested by
a pod author. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#persis\
tentvolumeclaims"
status:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimStatus"
description:
"Status represents the current information/status of a persistent
volume claim. Read-only. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#persis\
tentvolumeclaims"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: PersistentVolumeClaim
version: v1
io.k8s.api.core.v1.PersistentVolumeClaimCondition:
description: PersistentVolumeClaimCondition contails details about state of pvc
properties:
lastProbeTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time we probed the condition.
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition transitioned from one status to another.
message:
description: Human-readable message indicating details about last transition.
type: string
reason:
description:
Unique, this should be a short, machine understandable string that
gives the reason for condition's last transition. If it reports
"ResizeStarted" that means the underlying persistent volume is being
resized.
type: string
status:
type: string
type:
type: string
required:
- type
- status
type: object
io.k8s.api.core.v1.PersistentVolumeClaimList:
description: PersistentVolumeClaimList is a list of PersistentVolumeClaim items.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "A list of persistent volume claims. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#persis\
tentvolumeclaims"
items:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: PersistentVolumeClaimList
version: v1
io.k8s.api.core.v1.PersistentVolumeClaimSpec:
description: PersistentVolumeClaimSpec describes the common attributes of
storage devices and allows a Source for provider-specific attributes
properties:
accessModes:
description:
"AccessModes contains the desired access modes the volume should
have. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#access\
-modes-1"
items:
type: string
type: array
dataSource:
$ref: "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference"
description: "This field can be used to specify either: * An existing
VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An
existing PVC (PersistentVolumeClaim) * An existing custom resource
that implements data population (Alpha) In order to use custom
resource types that implement data population, the AnyVolumeDataSource
feature gate must be enabled. If the provisioner or an external
controller can support the specified data source, it will create a new
volume based on the contents of the specified data source."
resources:
$ref: "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
description:
"Resources represents the minimum resources the volume should have.
More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#resour\
ces"
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description: A label query over volumes to consider for binding.
storageClassName:
description: "Name of the StorageClass required by the claim. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-\
1"
type: string
volumeMode:
description:
volumeMode defines what type of volume is required by the claim.
Value of Filesystem is implied when not included in claim spec.
type: string
volumeName:
description:
VolumeName is the binding reference to the PersistentVolume backing
this claim.
type: string
type: object
io.k8s.api.core.v1.PersistentVolumeClaimStatus:
description:
PersistentVolumeClaimStatus is the current status of a persistent
volume claim.
properties:
accessModes:
description:
"AccessModes contains the actual access modes the volume backing
the PVC has. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#access\
-modes-1"
items:
type: string
type: array
capacity:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: Represents the actual resources of the underlying volume.
type: object
conditions:
description: Current Condition of persistent volume claim. If underlying
persistent volume is being resized then the Condition will be set to
'ResizeStarted'.
items:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
phase:
description: Phase represents the current phase of PersistentVolumeClaim.
type: string
type: object
io.k8s.api.core.v1.PersistentVolumeClaimTemplate:
description: PersistentVolumeClaimTemplate is used to produce
PersistentVolumeClaim objects as part of an EphemeralVolumeSource.
properties:
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description:
May contain labels and annotations that will be copied into the PVC
when creating it. No other fields are allowed and will be rejected
during validation.
spec:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimSpec"
description:
The specification for the PersistentVolumeClaim. The entire content
is copied unchanged into the PVC that gets created from this template.
The same fields as in a PersistentVolumeClaim are also valid here.
required:
- spec
type: object
io.k8s.api.core.v1.PersistentVolumeClaimVolumeSource:
description:
PersistentVolumeClaimVolumeSource references the user's PVC in the
same namespace. This volume finds the bound PV and mounts that volume for
the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper
around another type of volume that is owned by someone else (the system).
properties:
claimName:
description:
"ClaimName is the name of a PersistentVolumeClaim in the same
namespace as the pod using this volume. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#persis\
tentvolumeclaims"
type: string
readOnly:
description: Will force the ReadOnly setting in VolumeMounts. Default false.
type: boolean
required:
- claimName
type: object
io.k8s.api.core.v1.PersistentVolumeList:
description: PersistentVolumeList is a list of PersistentVolume items.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "List of persistent volumes. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes"
items:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolume"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: PersistentVolumeList
version: v1
io.k8s.api.core.v1.PersistentVolumeSpec:
description: PersistentVolumeSpec is the specification of a persistent volume.
properties:
accessModes:
description:
"AccessModes contains all ways the volume can be mounted. More
info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#access\
-modes"
items:
type: string
type: array
awsElasticBlockStore:
$ref: "#/definitions/io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource"
description:
"AWSElasticBlockStore represents an AWS Disk resource that is
attached to a kubelet's host machine and then exposed to the pod. More
info:
https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockst\
ore"
azureDisk:
$ref: "#/definitions/io.k8s.api.core.v1.AzureDiskVolumeSource"
description:
AzureDisk represents an Azure Data Disk mount on the host and bind
mount to the pod.
azureFile:
$ref: "#/definitions/io.k8s.api.core.v1.AzureFilePersistentVolumeSource"
description:
AzureFile represents an Azure File Service mount on the host and
bind mount to the pod.
capacity:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
"A description of the persistent volume's resources and capacity.
More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#capaci\
ty"
type: object
cephfs:
$ref: "#/definitions/io.k8s.api.core.v1.CephFSPersistentVolumeSource"
description:
CephFS represents a Ceph FS mount on the host that shares a pod's
lifetime
cinder:
$ref: "#/definitions/io.k8s.api.core.v1.CinderPersistentVolumeSource"
description:
"Cinder represents a cinder volume attached and mounted on kubelets
host machine. More info:
https://examples.k8s.io/mysql-cinder-pd/README.md"
claimRef:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description: "ClaimRef is part of a bi-directional binding between
PersistentVolume and PersistentVolumeClaim. Expected to be non-nil
when bound. claim.VolumeName is the authoritative bind between PV and
PVC. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#bindin\
g"
csi:
$ref: "#/definitions/io.k8s.api.core.v1.CSIPersistentVolumeSource"
description:
CSI represents storage that is handled by an external CSI driver
(Beta feature).
fc:
$ref: "#/definitions/io.k8s.api.core.v1.FCVolumeSource"
description:
FC represents a Fibre Channel resource that is attached to a
kubelet's host machine and then exposed to the pod.
flexVolume:
$ref: "#/definitions/io.k8s.api.core.v1.FlexPersistentVolumeSource"
description: FlexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
flocker:
$ref: "#/definitions/io.k8s.api.core.v1.FlockerVolumeSource"
description:
Flocker represents a Flocker volume attached to a kubelet's host
machine and exposed to the pod for its usage. This depends on the
Flocker control service being running
gcePersistentDisk:
$ref: "#/definitions/io.k8s.api.core.v1.GCEPersistentDiskVolumeSource"
description:
"GCEPersistentDisk represents a GCE Disk resource that is attached
to a kubelet's host machine and then exposed to the pod. Provisioned
by an admin. More info:
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk"
glusterfs:
$ref: "#/definitions/io.k8s.api.core.v1.GlusterfsPersistentVolumeSource"
description:
"Glusterfs represents a Glusterfs volume that is attached to a host
and exposed to the pod. Provisioned by an admin. More info:
https://examples.k8s.io/volumes/glusterfs/README.md"
hostPath:
$ref: "#/definitions/io.k8s.api.core.v1.HostPathVolumeSource"
description:
"HostPath represents a directory on the host. Provisioned by a
developer or tester. This is useful for single-node development and
testing only! On-host storage is not supported in any way and WILL NOT
WORK in a multi-node cluster. More info:
https://kubernetes.io/docs/concepts/storage/volumes#hostpath"
iscsi:
$ref: "#/definitions/io.k8s.api.core.v1.ISCSIPersistentVolumeSource"
description:
ISCSI represents an ISCSI Disk resource that is attached to a
kubelet's host machine and then exposed to the pod. Provisioned by an
admin.
local:
$ref: "#/definitions/io.k8s.api.core.v1.LocalVolumeSource"
description: Local represents directly-attached storage with node affinity
mountOptions:
description:
'A list of mount options, e.g. ["ro", "soft"]. Not validated -
mount will simply fail if one is invalid. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options'
items:
type: string
type: array
nfs:
$ref: "#/definitions/io.k8s.api.core.v1.NFSVolumeSource"
description:
"NFS represents an NFS mount on the host. Provisioned by an admin.
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs"
nodeAffinity:
$ref: "#/definitions/io.k8s.api.core.v1.VolumeNodeAffinity"
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:
"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#reclai\
ming"
type: string
photonPersistentDisk:
$ref: "#/definitions/io.k8s.api.core.v1.PhotonPersistentDiskVolumeSource"
description:
PhotonPersistentDisk represents a PhotonController persistent disk
attached and mounted on kubelets host machine
portworxVolume:
$ref: "#/definitions/io.k8s.api.core.v1.PortworxVolumeSource"
description:
PortworxVolume represents a portworx volume attached and mounted on
kubelets host machine
quobyte:
$ref: "#/definitions/io.k8s.api.core.v1.QuobyteVolumeSource"
description:
Quobyte represents a Quobyte mount on the host that shares a pod's
lifetime
rbd:
$ref: "#/definitions/io.k8s.api.core.v1.RBDPersistentVolumeSource"
description:
"RBD represents a Rados Block Device mount on the host that shares
a pod's lifetime. More info:
https://examples.k8s.io/volumes/rbd/README.md"
scaleIO:
$ref: "#/definitions/io.k8s.api.core.v1.ScaleIOPersistentVolumeSource"
description:
ScaleIO represents a ScaleIO persistent volume attached and mounted
on Kubernetes nodes.
storageClassName:
description:
Name of StorageClass to which this persistent volume belongs. Empty
value means that this volume does not belong to any StorageClass.
type: string
storageos:
$ref: "#/definitions/io.k8s.api.core.v1.StorageOSPersistentVolumeSource"
description:
"StorageOS represents a StorageOS volume that is attached to the
kubelet's host machine and mounted into the pod More info:
https://examples.k8s.io/volumes/storageos/README.md"
volumeMode:
description:
volumeMode defines if a volume is intended to be used with a
formatted filesystem or to remain in raw block state. Value of
Filesystem is implied when not included in spec.
type: string
vsphereVolume:
$ref: "#/definitions/io.k8s.api.core.v1.VsphereVirtualDiskVolumeSource"
description:
VsphereVolume represents a vSphere volume attached and mounted on
kubelets host machine
type: object
io.k8s.api.core.v1.PersistentVolumeStatus:
description: PersistentVolumeStatus is the current status of a persistent volume.
properties:
message:
description:
A human-readable message indicating details about why the volume is
in this state.
type: string
phase:
description:
"Phase indicates if a volume is available, bound to a claim, or
released by a claim. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase"
type: string
reason:
description:
Reason is a brief CamelCase string that describes any failure and
is meant for machine parsing and tidy display in the CLI.
type: string
type: object
io.k8s.api.core.v1.PhotonPersistentDiskVolumeSource:
description: Represents a Photon Controller persistent disk resource.
properties:
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
inferred to be "ext4" if unspecified.
type: string
pdID:
description: ID that identifies Photon Controller persistent disk
type: string
required:
- pdID
type: object
io.k8s.api.core.v1.Pod:
description: Pod is a collection of containers that can run on a host. This
resource is created by clients and scheduled onto hosts.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.PodSpec"
description:
"Specification of the desired behavior of the pod. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.core.v1.PodStatus"
description:
"Most recently observed status of the pod. This data may not be up
to date. Populated by the system. Read-only. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: Pod
version: v1
io.k8s.api.core.v1.PodAffinity:
description: Pod affinity is a group of inter pod affinity scheduling rules.
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description:
The scheduler will prefer to schedule pods to nodes that satisfy
the affinity expressions specified by this field, but it may choose a
node that violates one or more of the expressions. The node that is
most preferred is the one with the greatest sum of weights, i.e. for
each node that meets all of the scheduling requirements (resource
request, requiredDuringScheduling affinity expressions, etc.), compute
a sum by iterating through the elements of this field and adding
"weight" to the sum if the node has pods which matches the
corresponding podAffinityTerm; the node(s) with the highest sum are
the most preferred.
items:
$ref: "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm"
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description:
If the affinity requirements specified by this field are not met at
scheduling time, the pod will not be scheduled onto the node. If the
affinity requirements specified by this field cease to be met at some
point during pod execution (e.g. due to a pod label update), the
system may or may not try to eventually evict the pod from its node.
When there are multiple elements, the lists of nodes corresponding to
each podAffinityTerm are intersected, i.e. all terms must be
satisfied.
items:
$ref: "#/definitions/io.k8s.api.core.v1.PodAffinityTerm"
type: array
type: object
io.k8s.api.core.v1.PodAffinityTerm:
description: Defines a set of pods (namely those matching the labelSelector
relative to the given namespace(s)) that this pod should be co-located
(affinity) or not co-located (anti-affinity) with, where co-located is
defined as running on a node whose value of the label with key
<topologyKey> matches that of any node on which a pod of the set of pods
is running
properties:
labelSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description: A label query over a set of resources, in this case pods.
namespaces:
description:
namespaces specifies which namespaces the labelSelector applies to
(matches against); null or empty list means "this pod's namespace"
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located
(anti-affinity) with the pods matching the labelSelector in the
specified namespaces, where co-located is defined as running on a node
whose value of the label with key topologyKey matches that of any node
on which any of the selected pods is running. Empty topologyKey is not
allowed.
type: string
required:
- topologyKey
type: object
io.k8s.api.core.v1.PodAntiAffinity:
description: Pod anti affinity is a group of inter pod anti affinity scheduling rules.
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description:
The scheduler will prefer to schedule pods to nodes that satisfy
the anti-affinity expressions specified by this field, but it may
choose a node that violates one or more of the expressions. The node
that is most preferred is the one with the greatest sum of weights,
i.e. for each node that meets all of the scheduling requirements
(resource request, requiredDuringScheduling anti-affinity expressions,
etc.), compute a sum by iterating through the elements of this field
and adding "weight" to the sum if the node has pods which matches the
corresponding podAffinityTerm; the node(s) with the highest sum are
the most preferred.
items:
$ref: "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm"
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description:
If the anti-affinity requirements specified by this field are not
met at scheduling time, the pod will not be scheduled onto the node.
If the anti-affinity requirements specified by this field cease to be
met at some point during pod execution (e.g. due to a pod label
update), the system may or may not try to eventually evict the pod
from its node. When there are multiple elements, the lists of nodes
corresponding to each podAffinityTerm are intersected, i.e. all terms
must be satisfied.
items:
$ref: "#/definitions/io.k8s.api.core.v1.PodAffinityTerm"
type: array
type: object
io.k8s.api.core.v1.PodCondition:
description: PodCondition contains details for the current condition of this pod.
properties:
lastProbeTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time we probed the condition.
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: Last time the condition transitioned from one status to another.
message:
description: Human-readable message indicating details about last transition.
type: string
reason:
description: Unique, one-word, CamelCase reason for the condition's last transition.
type: string
status:
description: "Status is the status of the condition. Can be True, False,
Unknown. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-\
conditions"
type: string
type:
description: "Type is the type of the condition. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-\
conditions"
type: string
required:
- type
- status
type: object
io.k8s.api.core.v1.PodDNSConfig:
description: PodDNSConfig defines the DNS parameters of a pod in addition to
those generated from DNSPolicy.
properties:
nameservers:
description:
A list of DNS name server IP addresses. This will be appended to
the base nameservers generated from DNSPolicy. Duplicated nameservers
will be removed.
items:
type: string
type: array
options:
description:
A list of DNS resolver options. This will be merged with the base
options generated from DNSPolicy. Duplicated entries will be removed.
Resolution options given in Options will override those that appear in
the base DNSPolicy.
items:
$ref: "#/definitions/io.k8s.api.core.v1.PodDNSConfigOption"
type: array
searches:
description:
A list of DNS search domains for host-name lookup. This will be
appended to the base search paths generated from DNSPolicy. Duplicated
search paths will be removed.
items:
type: string
type: array
type: object
io.k8s.api.core.v1.PodDNSConfigOption:
description: PodDNSConfigOption defines DNS resolver options of a pod.
properties:
name:
description: Required.
type: string
value:
type: string
type: object
io.k8s.api.core.v1.PodIP:
description: >-
IP address information for entries in the (plural) PodIPs field. Each
entry includes:
IP: An IP address allocated to the pod. Routable at least within the cluster.
properties:
ip:
description: ip is an IP address (IPv4 or IPv6) assigned to the pod
type: string
type: object
io.k8s.api.core.v1.PodList:
description: PodList is a list of Pods.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "List of pods. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md"
items:
$ref: "#/definitions/io.k8s.api.core.v1.Pod"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: PodList
version: v1
io.k8s.api.core.v1.PodReadinessGate:
description: PodReadinessGate contains the reference to a pod condition
properties:
conditionType:
description:
ConditionType refers to a condition in the pod's condition list
with matching type.
type: string
required:
- conditionType
type: object
io.k8s.api.core.v1.PodSecurityContext:
description:
PodSecurityContext holds pod-level security attributes and common
container settings. Some fields are also present in
container.securityContext. Field values of container.securityContext take
precedence over field values of PodSecurityContext.
properties:
fsGroup:
description: >-
A special supplemental group that applies to all containers in a pod.
Some volume types allow the Kubelet to change the ownership of that
volume to be owned by the pod:
1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw----
If unset, the Kubelet will not modify the ownership and permissions of any volume.
format: int64
type: integer
fsGroupChangePolicy:
description:
'fsGroupChangePolicy defines behavior of changing ownership and
permission of the volume before being exposed inside Pod. This field
will only apply to volume types which support fsGroup based
ownership(and permissions). It will have no effect on ephemeral volume
types such as: secret, configmaps and emptydir. Valid values are
"OnRootMismatch" and "Always". If not specified, "Always" is used.'
type: string
runAsGroup:
description:
The GID to run the entrypoint of the container process. Uses
runtime default if unset. May also be set in SecurityContext. If set
in both SecurityContext and PodSecurityContext, the value specified in
SecurityContext takes precedence for that container.
format: int64
type: integer
runAsNonRoot:
description:
Indicates that the container must run as a non-root user. If true,
the Kubelet will validate the image at runtime to ensure that it does
not run as UID 0 (root) and fail to start the container if it does. If
unset or false, no such validation will be performed. May also be set
in SecurityContext. If set in both SecurityContext and
PodSecurityContext, the value specified in SecurityContext takes
precedence.
type: boolean
runAsUser:
description:
The UID to run the entrypoint of the container process. Defaults to
user specified in image metadata if unspecified. May also be set in
SecurityContext. If set in both SecurityContext and
PodSecurityContext, the value specified in SecurityContext takes
precedence for that container.
format: int64
type: integer
seLinuxOptions:
$ref: "#/definitions/io.k8s.api.core.v1.SELinuxOptions"
description: The SELinux context to be applied to all containers. If
unspecified, the container runtime will allocate a random SELinux
context for each container. May also be set in SecurityContext. If
set in both SecurityContext and PodSecurityContext, the value
specified in SecurityContext takes precedence for that container.
seccompProfile:
$ref: "#/definitions/io.k8s.api.core.v1.SeccompProfile"
description: The seccomp options to use by the containers in this pod.
supplementalGroups:
description: A list of groups applied to the first process run in each
container, in addition to the container's primary GID. If
unspecified, no groups will be added to any container.
items:
format: int64
type: integer
type: array
sysctls:
description:
Sysctls hold a list of namespaced sysctls used for the pod. Pods
with unsupported sysctls (by the container runtime) might fail to
launch.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Sysctl"
type: array
windowsOptions:
$ref: "#/definitions/io.k8s.api.core.v1.WindowsSecurityContextOptions"
description: The Windows specific settings applied to all containers. If
unspecified, the options within a container's SecurityContext will be
used. If set in both SecurityContext and PodSecurityContext, the value
specified in SecurityContext takes precedence.
type: object
io.k8s.api.core.v1.PodSpec:
description: PodSpec is a description of a pod.
properties:
activeDeadlineSeconds:
description:
Optional duration in seconds the pod may be active on the node
relative to StartTime before the system will actively try to mark it
failed and kill associated containers. Value must be a positive
integer.
format: int64
type: integer
affinity:
$ref: "#/definitions/io.k8s.api.core.v1.Affinity"
description: If specified, the pod's scheduling constraints
automountServiceAccountToken:
description:
AutomountServiceAccountToken indicates whether a service account
token should be automatically mounted.
type: boolean
containers:
description: List of containers belonging to the pod. Containers cannot
currently be added or removed. There must be at least one container in
a Pod. Cannot be updated.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Container"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
dnsConfig:
$ref: "#/definitions/io.k8s.api.core.v1.PodDNSConfig"
description:
Specifies the DNS parameters of a pod. Parameters specified here
will be merged to the generated DNS configuration based on DNSPolicy.
dnsPolicy:
description:
Set DNS policy for the pod. Defaults to "ClusterFirst". Valid
values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or
'None'. DNS parameters given in DNSConfig will be merged with the
policy selected with DNSPolicy. To have DNS options set along with
hostNetwork, you have to specify DNS policy explicitly to
'ClusterFirstWithHostNet'.
type: string
enableServiceLinks:
description:
"EnableServiceLinks indicates whether information about services
should be injected into pod's environment variables, matching the
syntax of Docker links. Optional: Defaults to true."
type: boolean
ephemeralContainers:
description:
List of ephemeral containers run in this pod. Ephemeral containers
may be run in an existing pod to perform user-initiated actions such
as debugging. This list cannot be specified when creating a pod, and
it cannot be modified by updating the pod spec. In order to add an
ephemeral container to an existing pod, use the pod's
ephemeralcontainers subresource. This field is alpha-level and is only
honored by servers that enable the EphemeralContainers feature.
items:
$ref: "#/definitions/io.k8s.api.core.v1.EphemeralContainer"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
hostAliases:
description:
HostAliases is an optional list of hosts and IPs that will be
injected into the pod's hosts file if specified. This is only valid
for non-hostNetwork pods.
items:
$ref: "#/definitions/io.k8s.api.core.v1.HostAlias"
type: array
x-kubernetes-patch-merge-key: ip
x-kubernetes-patch-strategy: merge
hostIPC:
description: "Use the host's ipc namespace. Optional: Default to false."
type: boolean
hostNetwork:
description:
Host networking requested for this pod. Use the host's network
namespace. If this option is set, the ports that will be used must be
specified. Default to false.
type: boolean
hostPID:
description: "Use the host's pid namespace. Optional: Default to false."
type: boolean
hostname:
description:
Specifies the hostname of the Pod If not specified, the pod's
hostname will be set to a system-defined value.
type: string
imagePullSecrets:
description:
"ImagePullSecrets is an optional list of references to secrets in
the same namespace to use for pulling any of the images used by this
PodSpec. If specified, these secrets will be passed to individual
puller implementations for them to use. For example, in the case of
docker, only DockerConfig type secrets are honored. More info:
https://kubernetes.io/docs/concepts/containers/images#specifying-imag\
epullsecrets-on-a-pod"
items:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
initContainers:
description:
"List of initialization containers belonging to the pod. Init
containers are executed in order prior to containers being started. If
any init container fails, the pod is considered to have failed and is
handled according to its restartPolicy. The name for an init container
or normal container must be unique among all containers. Init
containers may not have Lifecycle actions, Readiness probes, Liveness
probes, or Startup probes. The resourceRequirements of an init
container are taken into account during scheduling by finding the
highest request/limit for each resource type, and then using the max
of of that value or the sum of the normal containers. Limits are
applied to init containers in a similar fashion. Init containers
cannot currently be added or removed. Cannot be updated. More info:
https://kubernetes.io/docs/concepts/workloads/pods/init-containers/"
items:
$ref: "#/definitions/io.k8s.api.core.v1.Container"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
nodeName:
description:
NodeName is a request to schedule this pod onto a specific node. If
it is non-empty, the scheduler simply schedules this pod onto that
node, assuming that it fits resource requirements.
type: string
nodeSelector:
additionalProperties:
type: string
description:
"NodeSelector is a selector which must be true for the pod to fit
on a node. Selector which must match a node's labels for the pod to be
scheduled on that node. More info:
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/"
type: object
overhead:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
"Overhead represents the resource overhead associated with running
a pod for a given RuntimeClass. This field will be autopopulated at
admission time by the RuntimeClass admission controller. If the
RuntimeClass admission controller is enabled, overhead must not be set
in Pod create requests. The RuntimeClass admission controller will
reject Pod create requests which have the overhead already set. If
RuntimeClass is configured and selected in the PodSpec, Overhead will
be set to the value defined in the corresponding RuntimeClass,
otherwise it will remain unset and treated as zero. More info:
https://git.k8s.io/enhancements/keps/sig-node/20190226-pod-overhead.md
This field is alpha-level as of Kubernetes v1.16, and is only honored
by servers that enable the PodOverhead feature."
type: object
preemptionPolicy:
description:
PreemptionPolicy is the Policy for preempting pods with lower
priority. One of Never, PreemptLowerPriority. Defaults to
PreemptLowerPriority if unset. This field is beta-level, gated by the
NonPreemptingPriority feature-gate.
type: string
priority:
description:
The priority value. Various system components use this field to
find the priority of the pod. When Priority Admission Controller is
enabled, it prevents users from setting this field. The admission
controller populates this field from PriorityClassName. The higher the
value, the higher the priority.
format: int32
type: integer
priorityClassName:
description:
If specified, indicates the pod's priority. "system-node-critical"
and "system-cluster-critical" are two special keywords which indicate
the highest priorities with the former being the highest priority. Any
other name must be defined by creating a PriorityClass object with
that name. If not specified, the pod priority will be default or zero
if there is no default.
type: string
readinessGates:
description:
'If specified, all readiness gates will be evaluated for pod
readiness. A pod is ready when all its containers are ready AND all
conditions specified in the readiness gates have status equal to
"True" More info:
https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md'
items:
$ref: "#/definitions/io.k8s.api.core.v1.PodReadinessGate"
type: array
restartPolicy:
description:
"Restart policy for all containers within the pod. One of Always,
OnFailure, Never. Default to Always. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#res\
tart-policy"
type: string
runtimeClassName:
description: 'RuntimeClassName refers to a RuntimeClass object in the
node.k8s.io group, which should be used to run this pod. If no
RuntimeClass resource matches the named class, the pod will not be
run. If unset or empty, the "legacy" RuntimeClass will be used, which
is an implicit class with an empty definition that uses the default
runtime handler. More info:
https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md This is
a beta feature as of Kubernetes v1.14.'
type: string
schedulerName:
description:
If specified, the pod will be dispatched by specified scheduler. If
not specified, the pod will be dispatched by default scheduler.
type: string
securityContext:
$ref: "#/definitions/io.k8s.api.core.v1.PodSecurityContext"
description:
"SecurityContext holds pod-level security attributes and common
container settings. Optional: Defaults to empty. See type description
for default values of each field."
serviceAccount:
description: "DeprecatedServiceAccount is a depreciated alias for
ServiceAccountName. Deprecated: Use serviceAccountName instead."
type: string
serviceAccountName:
description:
"ServiceAccountName is the name of the ServiceAccount to use to run
this pod. More info:
https://kubernetes.io/docs/tasks/configure-pod-container/configure-se\
rvice-account/"
type: string
setHostnameAsFQDN:
description:
If true the pod's hostname will be configured as the pod's FQDN,
rather than the leaf name (the default). In Linux containers, this
means setting the FQDN in the hostname field of the kernel (the
nodename field of struct utsname). In Windows containers, this means
setting the registry value of hostname for the registry key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
to FQDN. If a pod does not have FQDN, this has no effect. Default to
false.
type: boolean
shareProcessNamespace:
description:
"Share a single process namespace between all of the containers in
a pod. When this is set containers will be able to view and signal
processes from other containers in the same pod, and the first process
in each container will not be assigned PID 1. HostPID and
ShareProcessNamespace cannot both be set. Optional: Default to false."
type: boolean
subdomain:
description: If specified, the fully qualified Pod hostname will be
"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>". If not
specified, the pod will not have a domainname at all.
type: string
terminationGracePeriodSeconds:
description:
Optional duration in seconds the pod needs to terminate gracefully.
May be decreased in delete request. Value must be non-negative
integer. The value zero indicates delete immediately. If this value is
nil, the default grace period will be used instead. The grace period
is the duration in seconds after the processes running in the pod are
sent a termination signal and the time when the processes are forcibly
halted with a kill signal. Set this value longer than the expected
cleanup time for your process. Defaults to 30 seconds.
format: int64
type: integer
tolerations:
description: If specified, the pod's tolerations.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Toleration"
type: array
topologySpreadConstraints:
description:
TopologySpreadConstraints describes how a group of pods ought to
spread across topology domains. Scheduler will schedule pods in a way
which abides by the constraints. All topologySpreadConstraints are
ANDed.
items:
$ref: "#/definitions/io.k8s.api.core.v1.TopologySpreadConstraint"
type: array
x-kubernetes-list-map-keys:
- topologyKey
- whenUnsatisfiable
x-kubernetes-list-type: map
x-kubernetes-patch-merge-key: topologyKey
x-kubernetes-patch-strategy: merge
volumes:
description:
"List of volumes that can be mounted by containers belonging to the
pod. More info: https://kubernetes.io/docs/concepts/storage/volumes"
items:
$ref: "#/definitions/io.k8s.api.core.v1.Volume"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge,retainKeys
required:
- containers
type: object
io.k8s.api.core.v1.PodStatus:
description:
PodStatus represents information about the status of a pod. Status
may trail the actual state of a system, especially if the node that hosts
the pod cannot contact the control plane.
properties:
conditions:
description: "Current service state of pod. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-\
conditions"
items:
$ref: "#/definitions/io.k8s.api.core.v1.PodCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
containerStatuses:
description:
"The list has one entry per container in the manifest. Each entry
is currently the output of `docker inspect`. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-\
and-container-status"
items:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerStatus"
type: array
ephemeralContainerStatuses:
description:
Status for any ephemeral containers that have run in this pod. This
field is alpha-level and is only populated by servers that enable the
EphemeralContainers feature.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerStatus"
type: array
hostIP:
description:
IP address of the host to which the pod is assigned. Empty if not
yet scheduled.
type: string
initContainerStatuses:
description:
"The list has one entry per init container in the manifest. The
most recent successful init container will have ready = true, the most
recently started container will have startTime set. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-\
and-container-status"
items:
$ref: "#/definitions/io.k8s.api.core.v1.ContainerStatus"
type: array
message:
description:
A human readable message indicating details about why the pod is in
this condition.
type: string
nominatedNodeName:
description:
nominatedNodeName is set only when this pod preempts other pods on
the node, but it cannot be scheduled right away as preemption victims
receive their graceful termination periods. This field does not
guarantee that the pod will be scheduled on this node. Scheduler may
decide to place the pod elsewhere if other nodes become available
sooner. Scheduler may also decide to give the resources on this node
to a higher priority pod that is created after preemption. As a
result, this field may be different than PodSpec.nodeName when the pod
is scheduled.
type: string
phase:
description: >-
The phase of a Pod is a simple, high-level summary of where the Pod is
in its lifecycle. The conditions array, the reason and message fields,
and the individual container status arrays contain more detail about
the pod's status. There are five possible phase values:
Pending: The pod has been accepted by the Kubernetes system, but one or more of the container images has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while. Running: The pod has been bound to a node, and all of the containers have been created. At least one container is still running, or is in the process of starting or restarting. Succeeded: All containers in the pod have terminated in success, and will not be restarted. Failed: All containers in the pod have terminated, and at least one container has terminated in failure. The container either exited with non-zero status or was terminated by the system. Unknown: For some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase
type: string
podIP:
description:
IP address allocated to the pod. Routable at least within the
cluster. Empty if not yet allocated.
type: string
podIPs:
description:
podIPs holds the IP addresses allocated to the pod. If this field
is specified, the 0th entry must match the podIP field. Pods may be
allocated at most 1 value for each of IPv4 and IPv6. This list is
empty if no IPs have been allocated yet.
items:
$ref: "#/definitions/io.k8s.api.core.v1.PodIP"
type: array
x-kubernetes-patch-merge-key: ip
x-kubernetes-patch-strategy: merge
qosClass:
description:
"The Quality of Service (QOS) classification assigned to the pod
based on resource requirements See PodQOSClass type for available QOS
classes More info:
https://git.k8s.io/community/contributors/design-proposals/node/resou\
rce-qos.md"
type: string
reason:
description:
A brief CamelCase message indicating details about why the pod is
in this state. e.g. 'Evicted'
type: string
startTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
RFC 3339 date and time at which the object was acknowledged by the
Kubelet. This is before the Kubelet pulled the container image(s) for
the pod.
type: object
io.k8s.api.core.v1.PodTemplate:
description: PodTemplate describes a template for creating copies of a predefined pod.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
template:
$ref: "#/definitions/io.k8s.api.core.v1.PodTemplateSpec"
description:
Template defines the pods that will be created from this pod
template.
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: PodTemplate
version: v1
io.k8s.api.core.v1.PodTemplateList:
description: PodTemplateList is a list of PodTemplates.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of pod templates
items:
$ref: "#/definitions/io.k8s.api.core.v1.PodTemplate"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: PodTemplateList
version: v1
io.k8s.api.core.v1.PodTemplateSpec:
description:
PodTemplateSpec describes the data a pod should have when created
from a template
properties:
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.PodSpec"
description:
"Specification of the desired behavior of the pod. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
io.k8s.api.core.v1.PortStatus:
properties:
error:
description: >-
Error is to record the problem with the service port The format of the
error shall comply with the following rules: - built-in error values
shall be specified in this file and those shall use
CamelCase names
- cloud provider specific error values must have names that comply with the
format foo.example.com/CamelCase.
type: string
port:
description:
Port is the port number of the service port of which status is
recorded here
format: int32
type: integer
protocol:
description:
'Protocol is the protocol of the service port of which status is
recorded here The supported values are: "TCP", "UDP", "SCTP"'
type: string
required:
- port
- protocol
type: object
io.k8s.api.core.v1.PortworxVolumeSource:
description: PortworxVolumeSource represents a Portworx volume resource.
properties:
fsType:
description:
FSType represents the filesystem type to mount Must be a filesystem
type supported by the host operating system. Ex. "ext4", "xfs".
Implicitly inferred to be "ext4" if unspecified.
type: string
readOnly:
description:
Defaults to false (read/write). ReadOnly here will force the
ReadOnly setting in VolumeMounts.
type: boolean
volumeID:
description: VolumeID uniquely identifies a Portworx volume
type: string
required:
- volumeID
type: object
io.k8s.api.core.v1.PreferredSchedulingTerm:
description: An empty preferred scheduling term matches all objects with
implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term
matches no objects (i.e. is also a no-op).
properties:
preference:
$ref: "#/definitions/io.k8s.api.core.v1.NodeSelectorTerm"
description: A node selector term, associated with the corresponding weight.
weight:
description:
Weight associated with matching the corresponding nodeSelectorTerm,
in the range 1-100.
format: int32
type: integer
required:
- weight
- preference
type: object
io.k8s.api.core.v1.Probe:
description:
Probe describes a health check to be performed against a container
to determine whether it is alive or ready to receive traffic.
properties:
exec:
$ref: "#/definitions/io.k8s.api.core.v1.ExecAction"
description: One and only one of the following should be specified. Exec
specifies the action to take.
failureThreshold:
description:
Minimum consecutive failures for the probe to be considered failed
after having succeeded. Defaults to 3. Minimum value is 1.
format: int32
type: integer
httpGet:
$ref: "#/definitions/io.k8s.api.core.v1.HTTPGetAction"
description: HTTPGet specifies the http request to perform.
initialDelaySeconds:
description:
"Number of seconds after the container has started before liveness
probes are initiated. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#cont\
ainer-probes"
format: int32
type: integer
periodSeconds:
description:
How often (in seconds) to perform the probe. Default to 10 seconds.
Minimum value is 1.
format: int32
type: integer
successThreshold:
description:
Minimum consecutive successes for the probe to be considered
successful after having failed. Defaults to 1. Must be 1 for liveness
and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
$ref: "#/definitions/io.k8s.api.core.v1.TCPSocketAction"
description:
TCPSocket specifies an action involving a TCP port. TCP hooks not
yet supported
timeoutSeconds:
description:
"Number of seconds after which the probe times out. Defaults to 1
second. Minimum value is 1. More info:
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#cont\
ainer-probes"
format: int32
type: integer
type: object
io.k8s.api.core.v1.ProjectedVolumeSource:
description: Represents a projected volume source
properties:
defaultMode:
description:
Mode bits used to set permissions on created files by default. Must
be an octal value between 0000 and 0777 or a decimal value between 0
and 511. YAML accepts both octal and decimal values, JSON requires
decimal values for mode bits. Directories within the path are not
affected by this setting. This might be in conflict with other options
that affect the file mode, like fsGroup, and the result can be other
mode bits set.
format: int32
type: integer
sources:
description: list of volume projections
items:
$ref: "#/definitions/io.k8s.api.core.v1.VolumeProjection"
type: array
type: object
io.k8s.api.core.v1.QuobyteVolumeSource:
description: Represents a Quobyte mount that lasts the lifetime of a pod.
Quobyte volumes do not support ownership management or SELinux relabeling.
properties:
group:
description: Group to map volume access to Default is no group
type: string
readOnly:
description:
ReadOnly here will force the Quobyte volume to be mounted with
read-only permissions. Defaults to false.
type: boolean
registry:
description:
Registry represents a single or multiple Quobyte Registry services
specified as a string as host:port pair (multiple entries are
separated with commas) which acts as the central registry for volumes
type: string
tenant:
description:
Tenant owning the given Quobyte volume in the Backend Used with
dynamically provisioned Quobyte volumes, value is set by the plugin
type: string
user:
description: User to map volume access to Defaults to serivceaccount user
type: string
volume:
description:
Volume is a string that references an already created Quobyte
volume by name.
type: string
required:
- registry
- volume
type: object
io.k8s.api.core.v1.RBDPersistentVolumeSource:
description:
Represents a Rados Block Device mount that lasts the lifetime of a
pod. RBD volumes support ownership management and SELinux relabeling.
properties:
fsType:
description:
'Filesystem type of the volume that you want to mount. Tip: Ensure
that the filesystem type is supported by the host operating system.
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if
unspecified. More info:
https://kubernetes.io/docs/concepts/storage/volumes#rbd'
type: string
image:
description: "The rados image name. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: string
keyring:
description: "Keyring is the path to key ring for RBDUser. Default is
/etc/ceph/keyring. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: string
monitors:
description: "A collection of Ceph monitors. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
items:
type: string
type: array
pool:
description: "The rados pool name. Default is rbd. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: string
readOnly:
description:
"ReadOnly here will force the ReadOnly setting in VolumeMounts.
Defaults to false. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description:
"SecretRef is name of the authentication secret for RBDUser. If
provided overrides keyring. Default is nil. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
user:
description: "The rados user name. Default is admin. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: string
required:
- monitors
- image
type: object
io.k8s.api.core.v1.RBDVolumeSource:
description:
Represents a Rados Block Device mount that lasts the lifetime of a
pod. RBD volumes support ownership management and SELinux relabeling.
properties:
fsType:
description:
'Filesystem type of the volume that you want to mount. Tip: Ensure
that the filesystem type is supported by the host operating system.
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if
unspecified. More info:
https://kubernetes.io/docs/concepts/storage/volumes#rbd'
type: string
image:
description: "The rados image name. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: string
keyring:
description: "Keyring is the path to key ring for RBDUser. Default is
/etc/ceph/keyring. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: string
monitors:
description: "A collection of Ceph monitors. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
items:
type: string
type: array
pool:
description: "The rados pool name. Default is rbd. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: string
readOnly:
description:
"ReadOnly here will force the ReadOnly setting in VolumeMounts.
Defaults to false. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
description:
"SecretRef is name of the authentication secret for RBDUser. If
provided overrides keyring. Default is nil. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
user:
description: "The rados user name. Default is admin. More info:
https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
type: string
required:
- monitors
- image
type: object
io.k8s.api.core.v1.ReplicationController:
description:
ReplicationController represents the configuration of a replication
controller.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description:
"If the Labels of a ReplicationController are empty, they are
defaulted to be the same as the Pod(s) that the replication controller
manages. Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.ReplicationControllerSpec"
description:
"Spec defines the specification of the desired behavior of the
replication controller. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.core.v1.ReplicationControllerStatus"
description:
"Status is the most recently observed status of the replication
controller. This data may be out of date by some window of time.
Populated by the system. Read-only. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ReplicationController
version: v1
io.k8s.api.core.v1.ReplicationControllerCondition:
description:
ReplicationControllerCondition describes the state of a replication
controller at a certain point.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description: The last time the condition transitioned from one status to another.
message:
description: A human readable message indicating details about the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of replication controller condition.
type: string
required:
- type
- status
type: object
io.k8s.api.core.v1.ReplicationControllerList:
description: ReplicationControllerList is a collection of replication controllers.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "List of replication controllers. More info:
https://kubernetes.io/docs/concepts/workloads/controllers/replication\
controller"
items:
$ref: "#/definitions/io.k8s.api.core.v1.ReplicationController"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ReplicationControllerList
version: v1
io.k8s.api.core.v1.ReplicationControllerSpec:
description: ReplicationControllerSpec is the specification of a replication controller.
properties:
minReadySeconds:
description:
Minimum number of seconds for which a newly created pod should be
ready without any of its container crashing, for it to be considered
available. Defaults to 0 (pod will be considered available as soon as
it is ready)
format: int32
type: integer
replicas:
description:
"Replicas is the number of desired replicas. This is a pointer to
distinguish between explicit zero and unspecified. Defaults to 1. More
info:
https://kubernetes.io/docs/concepts/workloads/controllers/replication\
controller#what-is-a-replicationcontroller"
format: int32
type: integer
selector:
additionalProperties:
type: string
description:
"Selector is a label query over pods that should match the Replicas
count. If Selector is empty, it is defaulted to the labels present on
the Pod template. Label keys and values that must match in order to be
controlled by this replication controller, if empty defaulted to
labels on Pod template. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/lab\
els/#label-selectors"
type: object
template:
$ref: "#/definitions/io.k8s.api.core.v1.PodTemplateSpec"
description:
"Template is the object that describes the pod that will be created
if insufficient replicas are detected. This takes precedence over a
TemplateRef. More info:
https://kubernetes.io/docs/concepts/workloads/controllers/replication\
controller#pod-template"
type: object
io.k8s.api.core.v1.ReplicationControllerStatus:
description: ReplicationControllerStatus represents the current status of a
replication controller.
properties:
availableReplicas:
description: The number of available replicas (ready for at least
minReadySeconds) for this replication controller.
format: int32
type: integer
conditions:
description:
Represents the latest available observations of a replication
controller's current state.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ReplicationControllerCondition"
type: array
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
fullyLabeledReplicas:
description:
The number of pods that have labels matching the labels of the pod
template of the replication controller.
format: int32
type: integer
observedGeneration:
description:
ObservedGeneration reflects the generation of the most recently
observed replication controller.
format: int64
type: integer
readyReplicas:
description: The number of ready replicas for this replication controller.
format: int32
type: integer
replicas:
description:
"Replicas is the most recently oberved number of replicas. More
info:
https://kubernetes.io/docs/concepts/workloads/controllers/replication\
controller#what-is-a-replicationcontroller"
format: int32
type: integer
required:
- replicas
type: object
io.k8s.api.core.v1.ResourceFieldSelector:
description:
ResourceFieldSelector represents container resources (cpu, memory)
and their output format
properties:
containerName:
description: "Container name: required for volumes, optional for env vars"
type: string
divisor:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: Specifies the output format of the exposed resources, defaults to "1"
resource:
description: "Required: resource to select"
type: string
required:
- resource
type: object
io.k8s.api.core.v1.ResourceQuota:
description: ResourceQuota sets aggregate quota restrictions enforced per namespace
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.ResourceQuotaSpec"
description: Spec defines the desired quota.
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status:
$ref: "#/definitions/io.k8s.api.core.v1.ResourceQuotaStatus"
description:
Status defines the actual enforced quota and its current usage.
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ResourceQuota
version: v1
io.k8s.api.core.v1.ResourceQuotaList:
description: ResourceQuotaList is a list of ResourceQuota items.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "Items is a list of ResourceQuota objects. More info:
https://kubernetes.io/docs/concepts/policy/resource-quotas/"
items:
$ref: "#/definitions/io.k8s.api.core.v1.ResourceQuota"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ResourceQuotaList
version: v1
io.k8s.api.core.v1.ResourceQuotaSpec:
description: ResourceQuotaSpec defines the desired hard limits to enforce for Quota.
properties:
hard:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
"hard is the set of desired hard limits for each named resource.
More info:
https://kubernetes.io/docs/concepts/policy/resource-quotas/"
type: object
scopeSelector:
$ref: "#/definitions/io.k8s.api.core.v1.ScopeSelector"
description:
scopeSelector is also a collection of filters like scopes that must
match each object tracked by a quota but expressed using
ScopeSelectorOperator in combination with possible values. For a
resource to match, both scopes AND scopeSelector (if specified in
spec), must be matched.
scopes:
description:
A collection of filters that must match each object tracked by a
quota. If not specified, the quota matches all objects.
items:
type: string
type: array
type: object
io.k8s.api.core.v1.ResourceQuotaStatus:
description: ResourceQuotaStatus defines the enforced hard limits and observed use.
properties:
hard:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
"Hard is the set of enforced hard limits for each named resource.
More info:
https://kubernetes.io/docs/concepts/policy/resource-quotas/"
type: object
used:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
Used is the current observed total usage of the resource in the
namespace.
type: object
type: object
io.k8s.api.core.v1.ResourceRequirements:
description: ResourceRequirements describes the compute resource requirements.
properties:
limits:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
"Limits describes the maximum amount of compute resources allowed.
More info:
https://kubernetes.io/docs/concepts/configuration/manage-compute-reso\
urces-container/"
type: object
requests:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description: "Requests describes the minimum amount of compute resources
required. If Requests is omitted for a container, it defaults to
Limits if that is explicitly specified, otherwise to an
implementation-defined value. More info:
https://kubernetes.io/docs/concepts/configuration/manage-compute-reso\
urces-container/"
type: object
type: object
io.k8s.api.core.v1.SELinuxOptions:
description: SELinuxOptions are the labels to be applied to the container
properties:
level:
description: Level is SELinux level label that applies to the container.
type: string
role:
description: Role is a SELinux role label that applies to the container.
type: string
type:
description: Type is a SELinux type label that applies to the container.
type: string
user:
description: User is a SELinux user label that applies to the container.
type: string
type: object
io.k8s.api.core.v1.ScaleIOPersistentVolumeSource:
description: ScaleIOPersistentVolumeSource represents a persistent ScaleIO volume
properties:
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs"
type: string
gateway:
description: The host address of the ScaleIO API Gateway.
type: string
protectionDomain:
description: The name of the ScaleIO Protection Domain for the configured storage.
type: string
readOnly:
description:
Defaults to false (read/write). ReadOnly here will force the
ReadOnly setting in VolumeMounts.
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.SecretReference"
description:
SecretRef references to the secret for ScaleIO user and other
sensitive information. If this is not provided, Login operation will
fail.
sslEnabled:
description: Flag to enable/disable SSL communication with Gateway, default false
type: boolean
storageMode:
description: Indicates whether the storage for a volume should be
ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.
type: string
storagePool:
description: The ScaleIO Storage Pool associated with the protection domain.
type: string
system:
description: The name of the storage system as configured in ScaleIO.
type: string
volumeName:
description:
The name of a volume already created in the ScaleIO system that is
associated with this volume source.
type: string
required:
- gateway
- system
- secretRef
type: object
io.k8s.api.core.v1.ScaleIOVolumeSource:
description: ScaleIOVolumeSource represents a persistent ScaleIO volume
properties:
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". Default is
"xfs".
type: string
gateway:
description: The host address of the ScaleIO API Gateway.
type: string
protectionDomain:
description: The name of the ScaleIO Protection Domain for the configured storage.
type: string
readOnly:
description:
Defaults to false (read/write). ReadOnly here will force the
ReadOnly setting in VolumeMounts.
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
description:
SecretRef references to the secret for ScaleIO user and other
sensitive information. If this is not provided, Login operation will
fail.
sslEnabled:
description: Flag to enable/disable SSL communication with Gateway, default false
type: boolean
storageMode:
description: Indicates whether the storage for a volume should be
ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.
type: string
storagePool:
description: The ScaleIO Storage Pool associated with the protection domain.
type: string
system:
description: The name of the storage system as configured in ScaleIO.
type: string
volumeName:
description:
The name of a volume already created in the ScaleIO system that is
associated with this volume source.
type: string
required:
- gateway
- system
- secretRef
type: object
io.k8s.api.core.v1.ScopeSelector:
description:
A scope selector represents the AND of the selectors represented by
the scoped-resource selector requirements.
properties:
matchExpressions:
description: A list of scope selector requirements by scope of the resources.
items:
$ref: "#/definitions/io.k8s.api.core.v1.ScopedResourceSelectorRequirement"
type: array
type: object
io.k8s.api.core.v1.ScopedResourceSelectorRequirement:
description:
A scoped-resource selector requirement is a selector that contains
values, a scope name, and an operator that relates the scope name and
values.
properties:
operator:
description: Represents a scope's relationship to a set of values. Valid
operators are In, NotIn, Exists, DoesNotExist.
type: string
scopeName:
description: The name of the scope that the selector applies to.
type: string
values:
description:
An array of string values. If the operator is In or NotIn, the
values array must be non-empty. If the operator is Exists or
DoesNotExist, the values array must be empty. This array is replaced
during a strategic merge patch.
items:
type: string
type: array
required:
- scopeName
- operator
type: object
io.k8s.api.core.v1.SeccompProfile:
description:
SeccompProfile defines a pod/container's seccomp profile settings.
Only one profile source may be set.
properties:
localhostProfile:
description:
localhostProfile indicates a profile defined in a file on the node
should be used. The profile must be preconfigured on the node to work.
Must be a descending path, relative to the kubelet's configured
seccomp profile location. Must only be set if type is "Localhost".
type: string
type:
description: >-
type indicates which kind of seccomp profile will be applied. Valid
options are:
Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.
type: string
required:
- type
type: object
x-kubernetes-unions:
- discriminator: type
fields-to-discriminateBy:
localhostProfile: LocalhostProfile
io.k8s.api.core.v1.Secret:
description:
Secret holds secret data of a certain type. The total bytes of the
values in the Data field must be less than MaxSecretSize bytes.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
data:
additionalProperties:
format: byte
type: string
description: Data contains the secret data. Each key must consist of
alphanumeric characters, '-', '_' or '.'. The serialized form of the
secret data is a base64 encoded string, representing the arbitrary
(possibly non-string) data value here. Described in
https://tools.ietf.org/html/rfc4648#section-4
type: object
immutable:
description:
Immutable, if set to true, ensures that data stored in the Secret
cannot be updated (only object metadata can be modified). If not set
to true, the field can be modified at any time. Defaulted to nil. This
is a beta field enabled by ImmutableEphemeralVolumes feature gate.
type: boolean
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
stringData:
additionalProperties:
type: string
description:
stringData allows specifying non-binary secret data in string form.
It is provided as a write-only convenience method. All keys and values
are merged into the data field on write, overwriting any existing
values. It is never output when reading from the API.
type: object
type:
description: Used to facilitate programmatic handling of secret data.
type: string
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: Secret
version: v1
io.k8s.api.core.v1.SecretEnvSource:
description: >-
SecretEnvSource selects a Secret to populate the environment variables
with.
The contents of the target Secret's Data field will represent the key-value pairs as environment variables.
properties:
name:
description: "Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
optional:
description: Specify whether the Secret must be defined
type: boolean
type: object
io.k8s.api.core.v1.SecretKeySelector:
description: SecretKeySelector selects a key of a Secret.
properties:
key:
description: The key of the secret to select from. Must be a valid secret key.
type: string
name:
description: "Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
io.k8s.api.core.v1.SecretList:
description: SecretList is a list of Secret.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "Items is a list of secret objects. More info:
https://kubernetes.io/docs/concepts/configuration/secret"
items:
$ref: "#/definitions/io.k8s.api.core.v1.Secret"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: SecretList
version: v1
io.k8s.api.core.v1.SecretProjection:
description: >-
Adapts a secret into a projected volume.
The contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.
properties:
items:
description:
If unspecified, each key-value pair in the Data field of the
referenced Secret will be projected into the volume as a file whose
name is the key and content is the value. If specified, the listed
keys will be projected into the specified paths, and unlisted keys
will not be present. If a key is specified which is not present in the
Secret, the volume setup will error unless it is marked optional.
Paths must be relative and may not contain the '..' path or start with
'..'.
items:
$ref: "#/definitions/io.k8s.api.core.v1.KeyToPath"
type: array
name:
description: "Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
type: object
io.k8s.api.core.v1.SecretReference:
description: SecretReference represents a Secret Reference. It has enough
information to retrieve secret in any namespace
properties:
name:
description: Name is unique within a namespace to reference a secret resource.
type: string
namespace:
description:
Namespace defines the space within which the secret name must be
unique.
type: string
type: object
io.k8s.api.core.v1.SecretVolumeSource:
description: >-
Adapts a Secret into a volume.
The contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.
properties:
defaultMode:
description:
"Optional: mode bits used to set permissions on created files by
default. Must be an octal value between 0000 and 0777 or a decimal
value between 0 and 511. YAML accepts both octal and decimal values,
JSON requires decimal values for mode bits. Defaults to 0644.
Directories within the path are not affected by this setting. This
might be in conflict with other options that affect the file mode,
like fsGroup, and the result can be other mode bits set."
format: int32
type: integer
items:
description:
If unspecified, each key-value pair in the Data field of the
referenced Secret will be projected into the volume as a file whose
name is the key and content is the value. If specified, the listed
keys will be projected into the specified paths, and unlisted keys
will not be present. If a key is specified which is not present in the
Secret, the volume setup will error unless it is marked optional.
Paths must be relative and may not contain the '..' path or start with
'..'.
items:
$ref: "#/definitions/io.k8s.api.core.v1.KeyToPath"
type: array
optional:
description: Specify whether the Secret or its keys must be defined
type: boolean
secretName:
description:
"Name of the secret in the pod's namespace to use. More info:
https://kubernetes.io/docs/concepts/storage/volumes#secret"
type: string
type: object
io.k8s.api.core.v1.SecurityContext:
description:
SecurityContext holds security configuration that will be applied
to a container. Some fields are present in both SecurityContext and
PodSecurityContext. When both are set, the values in SecurityContext take
precedence.
properties:
allowPrivilegeEscalation:
description:
"AllowPrivilegeEscalation controls whether a process can gain more
privileges than its parent process. This bool directly controls if the
no_new_privs flag will be set on the container process.
AllowPrivilegeEscalation is true always when the container is: 1) run
as Privileged 2) has CAP_SYS_ADMIN"
type: boolean
capabilities:
$ref: "#/definitions/io.k8s.api.core.v1.Capabilities"
description:
The capabilities to add/drop when running containers. Defaults to
the default set of capabilities granted by the container runtime.
privileged:
description: Run container in privileged mode. Processes in privileged
containers are essentially equivalent to root on the host. Defaults to
false.
type: boolean
procMount:
description:
procMount denotes the type of proc mount to use for the containers.
The default is DefaultProcMount which uses the container runtime
defaults for readonly paths and masked paths. This requires the
ProcMountType feature flag to be enabled.
type: string
readOnlyRootFilesystem:
description:
Whether this container has a read-only root filesystem. Default is
false.
type: boolean
runAsGroup:
description:
The GID to run the entrypoint of the container process. Uses
runtime default if unset. May also be set in PodSecurityContext. If
set in both SecurityContext and PodSecurityContext, the value
specified in SecurityContext takes precedence.
format: int64
type: integer
runAsNonRoot:
description:
Indicates that the container must run as a non-root user. If true,
the Kubelet will validate the image at runtime to ensure that it does
not run as UID 0 (root) and fail to start the container if it does. If
unset or false, no such validation will be performed. May also be set
in PodSecurityContext. If set in both SecurityContext and
PodSecurityContext, the value specified in SecurityContext takes
precedence.
type: boolean
runAsUser:
description:
The UID to run the entrypoint of the container process. Defaults to
user specified in image metadata if unspecified. May also be set in
PodSecurityContext. If set in both SecurityContext and
PodSecurityContext, the value specified in SecurityContext takes
precedence.
format: int64
type: integer
seLinuxOptions:
$ref: "#/definitions/io.k8s.api.core.v1.SELinuxOptions"
description:
The SELinux context to be applied to the container. If unspecified,
the container runtime will allocate a random SELinux context for each
container. May also be set in PodSecurityContext. If set in both
SecurityContext and PodSecurityContext, the value specified in
SecurityContext takes precedence.
seccompProfile:
$ref: "#/definitions/io.k8s.api.core.v1.SeccompProfile"
description:
The seccomp options to use by this container. If seccomp options
are provided at both the pod & container level, the container options
override the pod options.
windowsOptions:
$ref: "#/definitions/io.k8s.api.core.v1.WindowsSecurityContextOptions"
description: The Windows specific settings applied to all containers. If
unspecified, the options from the PodSecurityContext will be used. If
set in both SecurityContext and PodSecurityContext, the value
specified in SecurityContext takes precedence.
type: object
io.k8s.api.core.v1.Service:
description:
Service is a named abstraction of software service (for example,
mysql) consisting of local port (for example 3306) that the proxy listens
on, and the selector that determines which pods will answer requests sent
through the proxy.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.core.v1.ServiceSpec"
description: Spec defines the behavior of a service.
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status:
$ref: "#/definitions/io.k8s.api.core.v1.ServiceStatus"
description:
"Most recently observed status of the service. Populated by the
system. Read-only. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: Service
version: v1
io.k8s.api.core.v1.ServiceAccount:
description:
"ServiceAccount binds together: * a name, understood by users, and
perhaps by peripheral systems, for an identity * a principal that can be
authenticated and authorized * a set of secrets"
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
automountServiceAccountToken:
description:
AutomountServiceAccountToken indicates whether pods running as this
service account should have an API token automatically mounted. Can be
overridden at the pod level.
type: boolean
imagePullSecrets:
description:
"ImagePullSecrets is a list of references to secrets in the same
namespace to use for pulling any images in pods that reference this
ServiceAccount. ImagePullSecrets are distinct from Secrets because
Secrets can be mounted in the pod, but ImagePullSecrets are only
accessed by the kubelet. More info:
https://kubernetes.io/docs/concepts/containers/images/#specifying-ima\
gepullsecrets-on-a-pod"
items:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
secrets:
description:
"Secrets is the list of secrets allowed to be used by pods running
using this ServiceAccount. More info:
https://kubernetes.io/docs/concepts/configuration/secret"
items:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
type: array
x-kubernetes-patch-merge-key: name
x-kubernetes-patch-strategy: merge
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ServiceAccount
version: v1
io.k8s.api.core.v1.ServiceAccountList:
description: ServiceAccountList is a list of ServiceAccount objects
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "List of ServiceAccounts. More info:
https://kubernetes.io/docs/tasks/configure-pod-container/configure-se\
rvice-account/"
items:
$ref: "#/definitions/io.k8s.api.core.v1.ServiceAccount"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ServiceAccountList
version: v1
io.k8s.api.core.v1.ServiceAccountTokenProjection:
description: ServiceAccountTokenProjection represents a projected service
account token volume. This projection can be used to insert a service
account token into the pods runtime filesystem for use against APIs
(Kubernetes API Server or otherwise).
properties:
audience:
description:
Audience is the intended audience of the token. A recipient of a
token must identify itself with an identifier specified in the
audience of the token, and otherwise should reject the token. The
audience defaults to the identifier of the apiserver.
type: string
expirationSeconds:
description:
ExpirationSeconds is the requested duration of validity of the
service account token. As the token approaches expiration, the kubelet
volume plugin will proactively rotate the service account token. The
kubelet will start trying to rotate the token if the token is older
than 80 percent of its time to live or if the token is older than 24
hours.Defaults to 1 hour and must be at least 10 minutes.
format: int64
type: integer
path:
description:
Path is the path relative to the mount point of the file to project
the token into.
type: string
required:
- path
type: object
io.k8s.api.core.v1.ServiceList:
description: ServiceList holds a list of services.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of services
items:
$ref: "#/definitions/io.k8s.api.core.v1.Service"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: ""
kind: ServiceList
version: v1
io.k8s.api.core.v1.ServicePort:
description: ServicePort contains information on service's port.
properties:
appProtocol:
description:
The application protocol for this port. This field follows standard
Kubernetes label syntax. Un-prefixed names are reserved for IANA
standard service names (as per RFC-6335 and
http://www.iana.org/assignments/service-names). Non-standard protocols
should use prefixed names such as mycompany.com/my-custom-protocol.
This is a beta field that is guarded by the ServiceAppProtocol feature
gate and enabled by default.
type: string
name:
description:
The name of this port within the service. This must be a DNS_LABEL.
All ports within a ServiceSpec must have unique names. When
considering the endpoints for a Service, this must match the 'name'
field in the EndpointPort. Optional if only one ServicePort is defined
on this service.
type: string
nodePort:
description:
"The port on each node on which this service is exposed when type
is NodePort or LoadBalancer. Usually assigned by the system. If a
value is specified, in-range, and not in use it will be used,
otherwise the operation will fail. If not specified, a port will be
allocated if this Service requires one. If this field is specified
when creating a Service which does not need it, creation will fail.
This field will be wiped when updating a Service to no longer need it
(e.g. changing type from NodePort to ClusterIP). More info:
https://kubernetes.io/docs/concepts/services-networking/service/#type\
-nodeport"
format: int32
type: integer
port:
description: The port that will be exposed by this service.
format: int32
type: integer
protocol:
description:
The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
Default is TCP.
type: string
targetPort:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description:
"Number or name of the port to access on the pods targeted by the
service. Number must be in the range 1 to 65535. Name must be an
IANA_SVC_NAME. If this is a string, it will be looked up as a named
port in the target Pod's container ports. If this is not specified,
the value of the 'port' field is used (an identity map). This field is
ignored for services with clusterIP=None, and should be omitted or set
equal to the 'port' field. More info:
https://kubernetes.io/docs/concepts/services-networking/service/#defi\
ning-a-service"
required:
- port
type: object
io.k8s.api.core.v1.ServiceSpec:
description: ServiceSpec describes the attributes that a user creates on a service.
properties:
allocateLoadBalancerNodePorts:
description: allocateLoadBalancerNodePorts defines if NodePorts will be
automatically allocated for services with type LoadBalancer. Default
is "true". It may be set to "false" if the cluster load-balancer does
not rely on NodePorts. allocateLoadBalancerNodePorts may only be set
for services with type LoadBalancer and will be cleared if the type is
changed to any other type. This field is alpha-level and is only
honored by servers that enable the ServiceLBNodePortControl feature.
type: boolean
clusterIP:
description:
'clusterIP is the IP address of the service and is usually assigned
randomly. If an address is specified manually, is in-range (as per
system configuration), and is not in use, it will be allocated to the
service; otherwise creation of the service will fail. This field may
not be changed through updates unless the type field is also being
changed to ExternalName (which requires this field to be blank) or the
type field is being changed from ExternalName (in which case this
field may optionally be specified, as describe above). Valid values
are "None", empty string (""), or a valid IP address. Setting this to
"None" makes a "headless service" (no virtual IP), which is useful
when direct endpoint connections are preferred and proxying is not
required. Only applies to types ClusterIP, NodePort, and
LoadBalancer. If this field is specified when creating a Service of
type ExternalName, creation will fail. This field will be wiped when
updating a Service to type ExternalName. More info:
https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies'
type: string
clusterIPs:
description: >-
ClusterIPs is a list of IP addresses assigned to this service, and are
usually assigned randomly. If an address is specified manually, is
in-range (as per system configuration), and is not in use, it will be
allocated to the service; otherwise creation of the service will fail.
This field may not be changed through updates unless the type field is
also being changed to ExternalName (which requires this field to be
empty) or the type field is being changed from ExternalName (in which
case this field may optionally be specified, as describe
above). Valid values are "None", empty string (""), or a valid IP
address. Setting this to "None" makes a "headless service" (no
virtual IP), which is useful when direct endpoint connections are
preferred and proxying is not required. Only applies to types
ClusterIP, NodePort, and LoadBalancer. If this field is specified when
creating a Service of type ExternalName, creation will fail. This
field will be wiped when updating a Service to type ExternalName. If
this field is not specified, it will be initialized from the clusterIP
field. If this field is specified, clients must ensure that
clusterIPs[0] and clusterIP have the same value.
Unless the "IPv6DualStack" feature gate is enabled, this field is limited to one value, which must be the same as the clusterIP field. If the feature gate is enabled, this field may hold a maximum of two entries (dual-stack IPs, in either order). These IPs must correspond to the values of the ipFamilies field. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
items:
type: string
type: array
x-kubernetes-list-type: atomic
externalIPs:
description:
externalIPs is a list of IP addresses for which nodes in the
cluster will also accept traffic for this service. These IPs are not
managed by Kubernetes. The user is responsible for ensuring that
traffic arrives at a node with this IP. A common example is external
load-balancers that are not part of the Kubernetes system.
items:
type: string
type: array
externalName:
description:
externalName is the external reference that discovery mechanisms
will return as an alias for this service (e.g. a DNS CNAME record). No
proxying will be involved. Must be a lowercase RFC-1123 hostname
(https://tools.ietf.org/html/rfc1123) and requires Type to be
type: string
externalTrafficPolicy:
description:
externalTrafficPolicy denotes if this Service desires to route
external traffic to node-local or cluster-wide endpoints. "Local"
preserves the client source IP and avoids a second hop for
LoadBalancer and Nodeport type services, but risks potentially
imbalanced traffic spreading. "Cluster" obscures the client source IP
and may cause a second hop to another node, but should have good
overall load-spreading.
type: string
healthCheckNodePort:
description:
healthCheckNodePort specifies the healthcheck nodePort for the
service. This only applies when type is set to LoadBalancer and
externalTrafficPolicy is set to Local. If a value is specified, is
in-range, and is not in use, it will be used. If not specified, a
value will be automatically allocated. External systems (e.g.
load-balancers) can use this port to determine if a given node holds
endpoints for this service or not. If this field is specified when
creating a Service which does not need it, creation will fail. This
field will be wiped when updating a Service to no longer need it (e.g.
changing type).
format: int32
type: integer
ipFamilies:
description: >-
IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
service, and is gated by the "IPv6DualStack" feature gate. This field
is usually assigned automatically based on cluster configuration and
the ipFamilyPolicy field. If this field is specified manually, the
requested family is available in the cluster, and ipFamilyPolicy
allows it, it will be used; otherwise creation of the service will
fail. This field is conditionally mutable: it allows for adding or
removing a secondary IP family, but it does not allow changing the
primary IP family of the Service. Valid values are "IPv4" and
"IPv6". This field only applies to Services of types ClusterIP,
NodePort, and LoadBalancer, and does apply to "headless"
services. This field will be wiped when updating a Service to type
ExternalName.
This field may hold a maximum of two entries (dual-stack families, in either order). These families must correspond to the values of the clusterIPs field, if specified. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
items:
type: string
type: array
x-kubernetes-list-type: atomic
ipFamilyPolicy:
description:
IPFamilyPolicy represents the dual-stack-ness requested or required
by this Service, and is gated by the "IPv6DualStack" feature gate. If
there is no value provided, then this field will be set to
SingleStack. Services can be "SingleStack" (a single IP family),
"PreferDualStack" (two IP families on dual-stack configured clusters
or a single IP family on single-stack clusters), or "RequireDualStack"
(two IP families on dual-stack configured clusters, otherwise fail).
The ipFamilies and clusterIPs fields depend on the value of this
field. This field will be wiped when updating a service to type
ExternalName.
type: string
loadBalancerIP:
description:
"Only applies to Service Type: LoadBalancer LoadBalancer will get
created with the IP specified in this field. This feature depends on
whether the underlying cloud-provider supports specifying the
loadBalancerIP when a load balancer is created. This field will be
ignored if the cloud-provider does not support the feature."
type: string
loadBalancerSourceRanges:
description:
'If specified and supported by the platform, this will restrict
traffic through the cloud-provider load-balancer will be restricted to
the specified client IPs. This field will be ignored if the
cloud-provider does not support the feature." More info:
https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/'
items:
type: string
type: array
ports:
description:
"The list of ports that are exposed by this service. More info:
https://kubernetes.io/docs/concepts/services-networking/service/#virt\
ual-ips-and-service-proxies"
items:
$ref: "#/definitions/io.k8s.api.core.v1.ServicePort"
type: array
x-kubernetes-list-map-keys:
- port
- protocol
x-kubernetes-list-type: map
x-kubernetes-patch-merge-key: port
x-kubernetes-patch-strategy: merge
publishNotReadyAddresses:
description:
publishNotReadyAddresses indicates that any agent which deals with
endpoints for this Service should disregard any indications of
ready/not-ready. The primary use case for setting this field is for a
StatefulSet's Headless Service to propagate SRV DNS records for its
Pods for the purpose of peer discovery. The Kubernetes controllers
that generate Endpoints and EndpointSlice resources for Services
interpret this to mean that all endpoints are considered "ready" even
if the Pods themselves are not. Agents which consume only Kubernetes
generated endpoints through the Endpoints or EndpointSlice resources
can safely assume this behavior.
type: boolean
selector:
additionalProperties:
type: string
description:
"Route service traffic to pods with label keys and values matching
this selector. If empty or not present, the service is assumed to have
an external process managing its endpoints, which Kubernetes will not
modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
Ignored if type is ExternalName. More info:
https://kubernetes.io/docs/concepts/services-networking/service/"
type: object
sessionAffinity:
description:
'Supports "ClientIP" and "None". Used to maintain session affinity.
Enable client IP based session affinity. Must be ClientIP or None.
Defaults to None. More info:
https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies'
type: string
sessionAffinityConfig:
$ref: "#/definitions/io.k8s.api.core.v1.SessionAffinityConfig"
description: sessionAffinityConfig contains the configurations of session affinity.
topologyKeys:
description:
topologyKeys is a preference-order list of topology keys which
implementations of services should use to preferentially sort
endpoints when accessing this Service, it can not be used at the same
time as externalTrafficPolicy=Local. Topology keys must be valid label
keys and at most 16 keys may be specified. Endpoints are chosen based
on the first topology key with available backends. If this field is
specified and all entries have no backends that match the topology of
the client, the service has no backends for that client and
connections should fail. The special value "*" may be used to mean
"any topology". This catch-all value, if used, only makes sense as the
last value in the list. If this is not specified or empty, no topology
constraints will be applied. This field is alpha-level and is only
honored by servers that enable the ServiceTopology feature.
items:
type: string
type: array
type:
description:
'type determines how the Service is exposed. Defaults to ClusterIP.
Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
"ClusterIP" allocates a cluster-internal IP address for load-balancing
to endpoints. Endpoints are determined by the selector or if that is
not specified, by manual construction of an Endpoints object or
EndpointSlice objects. If clusterIP is "None", no virtual IP is
allocated and the endpoints are published as a set of endpoints rather
than a virtual IP. "NodePort" builds on ClusterIP and allocates a port
on every node which routes to the same endpoints as the clusterIP.
"LoadBalancer" builds on NodePort and creates an external
load-balancer (if supported in the current cloud) which routes to the
same endpoints as the clusterIP. "ExternalName" aliases this service
to the specified externalName. Several other fields do not apply to
ExternalName services. More info:
https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types'
type: string
type: object
io.k8s.api.core.v1.ServiceStatus:
description: ServiceStatus represents the current status of a service.
properties:
conditions:
description: Current service state
items:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition"
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
x-kubernetes-patch-merge-key: type
x-kubernetes-patch-strategy: merge
loadBalancer:
$ref: "#/definitions/io.k8s.api.core.v1.LoadBalancerStatus"
description:
LoadBalancer contains the current status of the load-balancer, if
one is present.
type: object
io.k8s.api.core.v1.SessionAffinityConfig:
description: SessionAffinityConfig represents the configurations of session affinity.
properties:
clientIP:
$ref: "#/definitions/io.k8s.api.core.v1.ClientIPConfig"
description:
clientIP contains the configurations of Client IP based session
affinity.
type: object
io.k8s.api.core.v1.StorageOSPersistentVolumeSource:
description: Represents a StorageOS persistent volume resource.
properties:
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
inferred to be "ext4" if unspecified.
type: string
readOnly:
description:
Defaults to false (read/write). ReadOnly here will force the
ReadOnly setting in VolumeMounts.
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description:
SecretRef specifies the secret to use for obtaining the StorageOS
API credentials. If not specified, default values will be attempted.
volumeName:
description: VolumeName is the human-readable name of the StorageOS
volume. Volume names are only unique within a namespace.
type: string
volumeNamespace:
description: VolumeNamespace specifies the scope of the volume within
StorageOS. If no namespace is specified then the Pod's namespace will
be used. This allows the Kubernetes name scoping to be mirrored
within StorageOS for tighter integration. Set VolumeName to any name
to override the default behaviour. Set to "default" if you are not
using namespaces within StorageOS. Namespaces that do not pre-exist
within StorageOS will be created.
type: string
type: object
io.k8s.api.core.v1.StorageOSVolumeSource:
description: Represents a StorageOS persistent volume resource.
properties:
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
inferred to be "ext4" if unspecified.
type: string
readOnly:
description:
Defaults to false (read/write). ReadOnly here will force the
ReadOnly setting in VolumeMounts.
type: boolean
secretRef:
$ref: "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
description:
SecretRef specifies the secret to use for obtaining the StorageOS
API credentials. If not specified, default values will be attempted.
volumeName:
description: VolumeName is the human-readable name of the StorageOS
volume. Volume names are only unique within a namespace.
type: string
volumeNamespace:
description: VolumeNamespace specifies the scope of the volume within
StorageOS. If no namespace is specified then the Pod's namespace will
be used. This allows the Kubernetes name scoping to be mirrored
within StorageOS for tighter integration. Set VolumeName to any name
to override the default behaviour. Set to "default" if you are not
using namespaces within StorageOS. Namespaces that do not pre-exist
within StorageOS will be created.
type: string
type: object
io.k8s.api.core.v1.Sysctl:
description: Sysctl defines a kernel parameter to be set
properties:
name:
description: Name of a property to set
type: string
value:
description: Value of a property to set
type: string
required:
- name
- value
type: object
io.k8s.api.core.v1.TCPSocketAction:
description: TCPSocketAction describes an action based on opening a socket
properties:
host:
description: "Optional: Host name to connect to, defaults to the pod IP."
type: string
port:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description:
Number or name of the port to access on the container. Number must
be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
required:
- port
type: object
io.k8s.api.core.v1.Taint:
description:
The node this Taint is attached to has the "effect" on any pod that
does not tolerate the Taint.
properties:
effect:
description:
Required. The effect of the taint on pods that do not tolerate the
taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute.
type: string
key:
description: Required. The taint key to be applied to a node.
type: string
timeAdded:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
TimeAdded represents the time at which the taint was added. It is
only written for NoExecute taints.
value:
description: The taint value corresponding to the taint key.
type: string
required:
- key
- effect
type: object
io.k8s.api.core.v1.Toleration:
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.
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.
type: string
tolerationSeconds:
description:
TolerationSeconds represents the period of time the toleration
(which must be of effect NoExecute, otherwise this field is ignored)
tolerates the taint. By default, it is not set, which means tolerate
the taint forever (do not evict). Zero and negative values will be
treated as 0 (evict immediately) by the system.
format: int64
type: integer
value:
description:
Value is the taint value the toleration matches to. If the operator
is Exists, the value should be empty, otherwise just a regular string.
type: string
type: object
io.k8s.api.core.v1.TopologySelectorLabelRequirement:
description:
A topology selector requirement is a selector that matches given
label. This is an alpha feature and may change in the future.
properties:
key:
description: The label key that the selector applies to.
type: string
values:
description:
An array of string values. One value must match the label to be
selected. Each entry in Values is ORed.
items:
type: string
type: array
required:
- key
- values
type: object
io.k8s.api.core.v1.TopologySelectorTerm:
description:
A topology selector term represents the result of label queries. A
null or empty topology selector term matches no objects. The requirements
of them are ANDed. It provides a subset of functionality as
NodeSelectorTerm. This is an alpha feature and may change in the future.
properties:
matchLabelExpressions:
description: A list of topology selector requirements by labels.
items:
$ref: "#/definitions/io.k8s.api.core.v1.TopologySelectorLabelRequirement"
type: array
type: object
io.k8s.api.core.v1.TopologySpreadConstraint:
description: TopologySpreadConstraint specifies how to spread matching pods
among the given topology.
properties:
labelSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
LabelSelector is used to find matching pods. Pods that match this
label selector are counted to determine the number of pods in their
corresponding topology domain.
maxSkew:
description: "MaxSkew describes the degree to which pods may be unevenly
distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum
permitted difference between the number of matching pods in the target
topology and the global minimum. For example, in a 3-zone cluster,
MaxSkew is set to 1, and pods with the same labelSelector spread as
1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if
MaxSkew is 1, incoming pod can only be scheduled to zone3 to become
1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0)
on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod
can be scheduled onto any zone. When
`whenUnsatisfiable=ScheduleAnyway`, it is used to give higher
precedence to topologies that satisfy it. It's a required field.
Default value is 1 and 0 is not allowed."
format: int32
type: integer
topologyKey:
description:
TopologyKey is the key of node labels. Nodes that have a label with
this key and identical values are considered to be in the same
topology. We consider each <key, value> as a "bucket", and try to put
balanced number of pods into each bucket. It's a required field.
type: string
whenUnsatisfiable:
description: >-
WhenUnsatisfiable indicates how to deal with a pod if it doesn't
satisfy the spread constraint. - DoNotSchedule (default) tells the
scheduler not to schedule it. - ScheduleAnyway tells the scheduler to
schedule the pod in any location,
but giving higher precedence to topologies that would help reduce the
skew.
A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
io.k8s.api.core.v1.TypedLocalObjectReference:
description:
TypedLocalObjectReference contains enough information to let you
locate the typed referenced object inside the same namespace.
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced. If
APIGroup is not specified, the specified Kind must be in the core API
group. For any other third-party types, APIGroup is required.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
required:
- kind
- name
type: object
io.k8s.api.core.v1.Volume:
description:
Volume represents a named volume in a pod that may be accessed by
any container in the pod.
properties:
awsElasticBlockStore:
$ref: "#/definitions/io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource"
description:
"AWSElasticBlockStore represents an AWS Disk resource that is
attached to a kubelet's host machine and then exposed to the pod. More
info:
https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockst\
ore"
azureDisk:
$ref: "#/definitions/io.k8s.api.core.v1.AzureDiskVolumeSource"
description:
AzureDisk represents an Azure Data Disk mount on the host and bind
mount to the pod.
azureFile:
$ref: "#/definitions/io.k8s.api.core.v1.AzureFileVolumeSource"
description:
AzureFile represents an Azure File Service mount on the host and
bind mount to the pod.
cephfs:
$ref: "#/definitions/io.k8s.api.core.v1.CephFSVolumeSource"
description:
CephFS represents a Ceph FS mount on the host that shares a pod's
lifetime
cinder:
$ref: "#/definitions/io.k8s.api.core.v1.CinderVolumeSource"
description:
"Cinder represents a cinder volume attached and mounted on kubelets
host machine. More info:
https://examples.k8s.io/mysql-cinder-pd/README.md"
configMap:
$ref: "#/definitions/io.k8s.api.core.v1.ConfigMapVolumeSource"
description: ConfigMap represents a configMap that should populate this volume
csi:
$ref: "#/definitions/io.k8s.api.core.v1.CSIVolumeSource"
description:
CSI (Container Storage Interface) represents ephemeral storage that
is handled by certain external CSI drivers (Beta feature).
downwardAPI:
$ref: "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeSource"
description:
DownwardAPI represents downward API about the pod that should
populate this volume
emptyDir:
$ref: "#/definitions/io.k8s.api.core.v1.EmptyDirVolumeSource"
description:
"EmptyDir represents a temporary directory that shares a pod's
lifetime. More info:
https://kubernetes.io/docs/concepts/storage/volumes#emptydir"
ephemeral:
$ref: "#/definitions/io.k8s.api.core.v1.EphemeralVolumeSource"
description: >-
Ephemeral represents a volume that is handled by a cluster storage
driver (Alpha feature). The volume's lifecycle is tied to the pod that
defines it - it will be created before the pod starts, and deleted
when the pod is removed.
Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity
tracking are needed,
c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through
a PersistentVolumeClaim (see EphemeralVolumeSource for more
information on the connection between this volume type
and PersistentVolumeClaim).
Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.
Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.
A pod can use both types of ephemeral volumes and persistent volumes at the same time.
fc:
$ref: "#/definitions/io.k8s.api.core.v1.FCVolumeSource"
description:
FC represents a Fibre Channel resource that is attached to a
kubelet's host machine and then exposed to the pod.
flexVolume:
$ref: "#/definitions/io.k8s.api.core.v1.FlexVolumeSource"
description: FlexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
flocker:
$ref: "#/definitions/io.k8s.api.core.v1.FlockerVolumeSource"
description:
Flocker represents a Flocker volume attached to a kubelet's host
machine. This depends on the Flocker control service being running
gcePersistentDisk:
$ref: "#/definitions/io.k8s.api.core.v1.GCEPersistentDiskVolumeSource"
description:
"GCEPersistentDisk represents a GCE Disk resource that is attached
to a kubelet's host machine and then exposed to the pod. More info:
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk"
gitRepo:
$ref: "#/definitions/io.k8s.api.core.v1.GitRepoVolumeSource"
description:
"GitRepo represents a git repository at a particular revision.
DEPRECATED: GitRepo is deprecated. To provision a container with a git
repo, mount an EmptyDir into an InitContainer that clones the repo
using git, then mount the EmptyDir into the Pod's container."
glusterfs:
$ref: "#/definitions/io.k8s.api.core.v1.GlusterfsVolumeSource"
description:
"Glusterfs represents a Glusterfs mount on the host that shares a
pod's lifetime. More info:
https://examples.k8s.io/volumes/glusterfs/README.md"
hostPath:
$ref: "#/definitions/io.k8s.api.core.v1.HostPathVolumeSource"
description:
"HostPath represents a pre-existing file or directory on the host
machine that is directly exposed to the container. This is generally
used for system agents or other privileged things that are allowed to
see the host machine. Most containers will NOT need this. More info:
https://kubernetes.io/docs/concepts/storage/volumes#hostpath"
iscsi:
$ref: "#/definitions/io.k8s.api.core.v1.ISCSIVolumeSource"
description:
"ISCSI represents an ISCSI Disk resource that is attached to a
kubelet's host machine and then exposed to the pod. More info:
https://examples.k8s.io/volumes/iscsi/README.md"
name:
description:
"Volume's name. Must be a DNS_LABEL and unique within the pod. More
info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/nam\
es/#names"
type: string
nfs:
$ref: "#/definitions/io.k8s.api.core.v1.NFSVolumeSource"
description:
"NFS represents an NFS mount on the host that shares a pod's
lifetime More info:
https://kubernetes.io/docs/concepts/storage/volumes#nfs"
persistentVolumeClaim:
$ref: "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimVolumeSource"
description:
"PersistentVolumeClaimVolumeSource represents a reference to a
PersistentVolumeClaim in the same namespace. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#persis\
tentvolumeclaims"
photonPersistentDisk:
$ref: "#/definitions/io.k8s.api.core.v1.PhotonPersistentDiskVolumeSource"
description:
PhotonPersistentDisk represents a PhotonController persistent disk
attached and mounted on kubelets host machine
portworxVolume:
$ref: "#/definitions/io.k8s.api.core.v1.PortworxVolumeSource"
description:
PortworxVolume represents a portworx volume attached and mounted on
kubelets host machine
projected:
$ref: "#/definitions/io.k8s.api.core.v1.ProjectedVolumeSource"
description: Items for all in one resources secrets, configmaps, and downward API
quobyte:
$ref: "#/definitions/io.k8s.api.core.v1.QuobyteVolumeSource"
description:
Quobyte represents a Quobyte mount on the host that shares a pod's
lifetime
rbd:
$ref: "#/definitions/io.k8s.api.core.v1.RBDVolumeSource"
description:
"RBD represents a Rados Block Device mount on the host that shares
a pod's lifetime. More info:
https://examples.k8s.io/volumes/rbd/README.md"
scaleIO:
$ref: "#/definitions/io.k8s.api.core.v1.ScaleIOVolumeSource"
description:
ScaleIO represents a ScaleIO persistent volume attached and mounted
on Kubernetes nodes.
secret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretVolumeSource"
description:
"Secret represents a secret that should populate this volume. More
info: https://kubernetes.io/docs/concepts/storage/volumes#secret"
storageos:
$ref: "#/definitions/io.k8s.api.core.v1.StorageOSVolumeSource"
description:
StorageOS represents a StorageOS volume attached and mounted on
Kubernetes nodes.
vsphereVolume:
$ref: "#/definitions/io.k8s.api.core.v1.VsphereVirtualDiskVolumeSource"
description:
VsphereVolume represents a vSphere volume attached and mounted on
kubelets host machine
required:
- name
type: object
io.k8s.api.core.v1.VolumeDevice:
description: volumeDevice describes a mapping of a raw block device within a container.
properties:
devicePath:
description:
devicePath is the path inside of the container that the device will
be mapped to.
type: string
name:
description: name must match the name of a persistentVolumeClaim in the pod
type: string
required:
- name
- devicePath
type: object
io.k8s.api.core.v1.VolumeMount:
description: VolumeMount describes a mounting of a Volume within a container.
properties:
mountPath:
description: Path within the container at which the volume should be
mounted. Must not contain ':'.
type: string
mountPropagation:
description:
mountPropagation determines how mounts are propagated from the host
to container and the other way around. When not set,
MountPropagationNone is used. This field is beta in 1.10.
type: string
name:
description: This must match the Name of a Volume.
type: string
readOnly:
description: Mounted read-only if true, read-write otherwise (false or
unspecified). Defaults to false.
type: boolean
subPath:
description:
Path within the volume from which the container's volume should be
mounted. Defaults to "" (volume's root).
type: string
subPathExpr:
description:
Expanded path within the volume from which the container's volume
should be mounted. Behaves similarly to SubPath but environment
variable references $(VAR_NAME) are expanded using the container's
environment. Defaults to "" (volume's root). SubPathExpr and SubPath
are mutually exclusive.
type: string
required:
- name
- mountPath
type: object
io.k8s.api.core.v1.VolumeNodeAffinity:
description:
VolumeNodeAffinity defines constraints that limit what nodes this
volume can be accessed from.
properties:
required:
$ref: "#/definitions/io.k8s.api.core.v1.NodeSelector"
description: Required specifies hard node constraints that must be met.
type: object
io.k8s.api.core.v1.VolumeProjection:
description: Projection that may be projected along with other supported volume types
properties:
configMap:
$ref: "#/definitions/io.k8s.api.core.v1.ConfigMapProjection"
description: information about the configMap data to project
downwardAPI:
$ref: "#/definitions/io.k8s.api.core.v1.DownwardAPIProjection"
description: information about the downwardAPI data to project
secret:
$ref: "#/definitions/io.k8s.api.core.v1.SecretProjection"
description: information about the secret data to project
serviceAccountToken:
$ref: "#/definitions/io.k8s.api.core.v1.ServiceAccountTokenProjection"
description: information about the serviceAccountToken data to project
type: object
io.k8s.api.core.v1.VsphereVirtualDiskVolumeSource:
description: Represents a vSphere volume resource.
properties:
fsType:
description:
Filesystem type to mount. Must be a filesystem type supported by
the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
inferred to be "ext4" if unspecified.
type: string
storagePolicyID:
description:
Storage Policy Based Management (SPBM) profile ID associated with
the StoragePolicyName.
type: string
storagePolicyName:
description: Storage Policy Based Management (SPBM) profile name.
type: string
volumePath:
description: Path that identifies vSphere volume vmdk
type: string
required:
- volumePath
type: object
io.k8s.api.core.v1.WeightedPodAffinityTerm:
description:
The weights of all of the matched WeightedPodAffinityTerm fields
are added per-node to find the most preferred node(s)
properties:
podAffinityTerm:
$ref: "#/definitions/io.k8s.api.core.v1.PodAffinityTerm"
description:
Required. A pod affinity term, associated with the corresponding
weight.
weight:
description:
weight associated with matching the corresponding podAffinityTerm,
in the range 1-100.
format: int32
type: integer
required:
- weight
- podAffinityTerm
type: object
io.k8s.api.core.v1.WindowsSecurityContextOptions:
description:
WindowsSecurityContextOptions contain Windows-specific options and
credentials.
properties:
gmsaCredentialSpec:
description: GMSACredentialSpec is where the GMSA admission webhook
(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents
of the GMSA credential spec named by the GMSACredentialSpecName field.
type: string
gmsaCredentialSpecName:
description: GMSACredentialSpecName is the name of the GMSA credential spec to use.
type: string
runAsUserName:
description:
The UserName in Windows to run the entrypoint of the container
process. Defaults to the user specified in image metadata if
unspecified. May also be set in PodSecurityContext. If set in both
SecurityContext and PodSecurityContext, the value specified in
SecurityContext takes precedence.
type: string
type: object
io.k8s.api.discovery.v1beta1.Endpoint:
description: Endpoint represents a single logical "backend" implementing a service.
properties:
addresses:
description: addresses of this endpoint. The contents of this field are
interpreted according to the corresponding EndpointSlice addressType
field. Consumers must handle different types of addresses in the
context of their own capabilities. This must contain at least one
address but no more than 100.
items:
type: string
type: array
x-kubernetes-list-type: set
conditions:
$ref: "#/definitions/io.k8s.api.discovery.v1beta1.EndpointConditions"
description:
conditions contains information about the current status of the
endpoint.
hostname:
description:
hostname of this endpoint. This field may be used by consumers of
endpoints to distinguish endpoints from each other (e.g. in DNS
names). Multiple endpoints which use the same hostname should be
considered fungible (e.g. multiple A values in DNS). Must be lowercase
and pass DNS Label (RFC 1123) validation.
type: string
nodeName:
description:
nodeName represents the name of the Node hosting this endpoint.
This can be used to determine endpoints local to a Node. This field
can be enabled with the EndpointSliceNodeName feature gate.
type: string
targetRef:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description:
targetRef is a reference to a Kubernetes object that represents
this endpoint.
topology:
additionalProperties:
type: string
description: >-
topology contains arbitrary topology information associated with the
endpoint. These key/value pairs must conform with the label format.
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
Topology may include a maximum of 16 key/value pairs. This includes,
but is not limited to the following well known keys: *
kubernetes.io/hostname: the value indicates the hostname of the node
where the endpoint is located. This should match the corresponding
node label.
* topology.kubernetes.io/zone: the value indicates the zone where the
endpoint is located. This should match the corresponding node label.
* topology.kubernetes.io/region: the value indicates the region where the
endpoint is located. This should match the corresponding node label.
This field is deprecated and will be removed in future api versions.
type: object
required:
- addresses
type: object
io.k8s.api.discovery.v1beta1.EndpointConditions:
description: EndpointConditions represents the current condition of an endpoint.
properties:
ready:
description:
ready indicates that this endpoint is prepared to receive traffic,
according to whatever system is managing the endpoint. A nil value
indicates an unknown state. In most cases consumers should interpret
this unknown state as ready. For compatibility reasons, ready should
never be "true" for terminating endpoints.
type: boolean
serving:
description:
serving is identical to ready except that it is set regardless of
the terminating state of endpoints. This condition should be set to
true for a ready endpoint that is terminating. If nil, consumers
should defer to the ready condition. This field can be enabled with
the EndpointSliceTerminatingCondition feature gate.
type: boolean
terminating:
description:
terminating indicates that this endpoint is terminating. A nil
value indicates an unknown state. Consumers should interpret this
unknown state to mean that the endpoint is not terminating. This field
can be enabled with the EndpointSliceTerminatingCondition feature
gate.
type: boolean
type: object
io.k8s.api.discovery.v1beta1.EndpointPort:
description: EndpointPort represents a Port used by an EndpointSlice
properties:
appProtocol:
description:
The application protocol for this port. This field follows standard
Kubernetes label syntax. Un-prefixed names are reserved for IANA
standard service names (as per RFC-6335 and
http://www.iana.org/assignments/service-names). Non-standard protocols
should use prefixed names such as mycompany.com/my-custom-protocol.
type: string
name:
description:
"The name of this port. All ports in an EndpointSlice must have a
unique name. If the EndpointSlice is dervied from a Kubernetes
service, this corresponds to the Service.ports[].name. Name must
either be an empty string or pass DNS_LABEL validation: * must be no
more than 63 characters long. * must consist of lower case
alphanumeric characters or '-'. * must start and end with an
alphanumeric character. Default is empty string."
type: string
port:
description:
The port number of the endpoint. If this is not specified, ports
are not restricted and must be interpreted in the context of the
specific consumer.
format: int32
type: integer
protocol:
description:
The IP protocol for this port. Must be UDP, TCP, or SCTP. Default
is TCP.
type: string
type: object
io.k8s.api.discovery.v1beta1.EndpointSlice:
description:
EndpointSlice represents a subset of the endpoints that implement a
service. For a given service there may be multiple EndpointSlice objects,
selected by labels, which must be joined to produce the full set of
endpoints.
properties:
addressType:
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."
type: string
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
endpoints:
description:
endpoints is a list of unique endpoints in this slice. Each slice
may include a maximum of 1000 endpoints.
items:
$ref: "#/definitions/io.k8s.api.discovery.v1beta1.Endpoint"
type: array
x-kubernetes-list-type: atomic
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: Standard object's metadata.
ports:
description:
ports specifies the list of network ports exposed by each endpoint
in this slice. Each port must have a unique name. When ports is empty,
it indicates that there are no defined ports. When a port is defined
with a nil port value, it indicates "all ports". Each slice may
include a maximum of 100 ports.
items:
$ref: "#/definitions/io.k8s.api.discovery.v1beta1.EndpointPort"
type: array
x-kubernetes-list-type: atomic
required:
- addressType
- endpoints
type: object
x-kubernetes-group-version-kind:
- group: discovery.k8s.io
kind: EndpointSlice
version: v1beta1
io.k8s.api.discovery.v1beta1.EndpointSliceList:
description: EndpointSliceList represents a list of endpoint slices
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: List of endpoint slices
items:
$ref: "#/definitions/io.k8s.api.discovery.v1beta1.EndpointSlice"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: Standard list metadata.
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: discovery.k8s.io
kind: EndpointSliceList
version: v1beta1
io.k8s.api.events.v1.Event:
description: Event is a report of an event somewhere in the cluster. It
generally denotes some state change in the system. Events have a limited
retention time and triggers and messages may evolve with time. Event
consumers should not rely on the timing of an event with a given Reason
reflecting a consistent underlying trigger, or the continued existence of
events with that Reason. Events should be treated as informative,
best-effort, supplemental data.
properties:
action:
description:
action is what action was taken/failed regarding to the regarding
object. It is machine-readable. This field cannot be empty for new
Events and it can have at most 128 characters.
type: string
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
deprecatedCount:
description: deprecatedCount is the deprecated field assuring backward
compatibility with core.v1 Event type.
format: int32
type: integer
deprecatedFirstTimestamp:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
deprecatedFirstTimestamp is the deprecated field assuring backward
compatibility with core.v1 Event type.
deprecatedLastTimestamp:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
deprecatedLastTimestamp is the deprecated field assuring backward
compatibility with core.v1 Event type.
deprecatedSource:
$ref: "#/definitions/io.k8s.api.core.v1.EventSource"
description: deprecatedSource is the deprecated field assuring backward
compatibility with core.v1 Event type.
eventTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description:
eventTime is the time when this Event was first observed. It is
required.
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
note:
description: note is a human-readable description of the status of this
operation. Maximal length of the note is 1kB, but libraries should be
prepared to handle values up to 64kB.
type: string
reason:
description:
reason is why the action was taken. It is human-readable. This
field cannot be empty for new Events and it can have at most 128
characters.
type: string
regarding:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description:
regarding contains the object this Event is about. In most cases
it's an Object reporting controller implements, e.g.
ReplicaSetController implements ReplicaSets and this event is emitted
because it acts on some changes in a ReplicaSet object.
related:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description:
related is the optional secondary object for more complex actions.
E.g. when regarding object triggers a creation or deletion of related
object.
reportingController:
description:
reportingController is the name of the controller that emitted this
Event, e.g. `kubernetes.io/kubelet`. This field cannot be empty for
new Events.
type: string
reportingInstance:
description:
reportingInstance is the ID of the controller instance, e.g.
`kubelet-xyzf`. This field cannot be empty for new Events and it can
have at most 128 characters.
type: string
series:
$ref: "#/definitions/io.k8s.api.events.v1.EventSeries"
description:
series is data about the Event series this event represents or nil
if it's a singleton Event.
type:
description:
type is the type of this event (Normal, Warning), new types could
be added in the future. It is machine-readable. This field cannot be
empty for new Events.
type: string
required:
- metadata
- eventTime
type: object
x-kubernetes-group-version-kind:
- group: events.k8s.io
kind: Event
version: v1
io.k8s.api.events.v1.EventList:
description: EventList is a list of Event objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: items is a list of schema objects.
items:
$ref: "#/definitions/io.k8s.api.events.v1.Event"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: events.k8s.io
kind: EventList
version: v1
io.k8s.api.events.v1.EventSeries:
description: EventSeries contain information on series of events, i.e. thing
that was/is happening continuously for some time. How often to update the
EventSeries is up to the event reporters. The default event reporter in
"k8s.io/client-go/tools/events/event_broadcaster.go" shows how this struct
is updated on heartbeats and can guide customized reporter
implementations.
properties:
count:
description:
count is the number of occurrences in this series up to the last
heartbeat time.
format: int32
type: integer
lastObservedTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description:
lastObservedTime is the time when last Event from the series was
seen before last heartbeat.
required:
- count
- lastObservedTime
type: object
io.k8s.api.events.v1beta1.Event:
description: Event is a report of an event somewhere in the cluster. It
generally denotes some state change in the system. Events have a limited
retention time and triggers and messages may evolve with time. Event
consumers should not rely on the timing of an event with a given Reason
reflecting a consistent underlying trigger, or the continued existence of
events with that Reason. Events should be treated as informative,
best-effort, supplemental data.
properties:
action:
description:
action is what action was taken/failed regarding to the regarding
object. It is machine-readable. This field can have at most 128
characters.
type: string
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
deprecatedCount:
description: deprecatedCount is the deprecated field assuring backward
compatibility with core.v1 Event type.
format: int32
type: integer
deprecatedFirstTimestamp:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
deprecatedFirstTimestamp is the deprecated field assuring backward
compatibility with core.v1 Event type.
deprecatedLastTimestamp:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
deprecatedLastTimestamp is the deprecated field assuring backward
compatibility with core.v1 Event type.
deprecatedSource:
$ref: "#/definitions/io.k8s.api.core.v1.EventSource"
description: deprecatedSource is the deprecated field assuring backward
compatibility with core.v1 Event type.
eventTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description:
eventTime is the time when this Event was first observed. It is
required.
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
note:
description: note is a human-readable description of the status of this
operation. Maximal length of the note is 1kB, but libraries should be
prepared to handle values up to 64kB.
type: string
reason:
description:
reason is why the action was taken. It is human-readable. This
field can have at most 128 characters.
type: string
regarding:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description:
regarding contains the object this Event is about. In most cases
it's an Object reporting controller implements, e.g.
ReplicaSetController implements ReplicaSets and this event is emitted
because it acts on some changes in a ReplicaSet object.
related:
$ref: "#/definitions/io.k8s.api.core.v1.ObjectReference"
description:
related is the optional secondary object for more complex actions.
E.g. when regarding object triggers a creation or deletion of related
object.
reportingController:
description:
reportingController is the name of the controller that emitted this
Event, e.g. `kubernetes.io/kubelet`. This field cannot be empty for
new Events.
type: string
reportingInstance:
description:
reportingInstance is the ID of the controller instance, e.g.
`kubelet-xyzf`. This field cannot be empty for new Events and it can
have at most 128 characters.
type: string
series:
$ref: "#/definitions/io.k8s.api.events.v1beta1.EventSeries"
description:
series is data about the Event series this event represents or nil
if it's a singleton Event.
type:
description:
type is the type of this event (Normal, Warning), new types could
be added in the future. It is machine-readable.
type: string
required:
- metadata
- eventTime
type: object
x-kubernetes-group-version-kind:
- group: events.k8s.io
kind: Event
version: v1beta1
io.k8s.api.events.v1beta1.EventList:
description: EventList is a list of Event objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: items is a list of schema objects.
items:
$ref: "#/definitions/io.k8s.api.events.v1beta1.Event"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: events.k8s.io
kind: EventList
version: v1beta1
io.k8s.api.events.v1beta1.EventSeries:
description: EventSeries contain information on series of events, i.e. thing
that was/is happening continuously for some time.
properties:
count:
description:
count is the number of occurrences in this series up to the last
heartbeat time.
format: int32
type: integer
lastObservedTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime"
description:
lastObservedTime is the time when last Event from the series was
seen before last heartbeat.
required:
- count
- lastObservedTime
type: object
io.k8s.api.extensions.v1beta1.HTTPIngressPath:
description: HTTPIngressPath associates a path with a backend. Incoming urls
matching the path are forwarded to the backend.
properties:
backend:
$ref: "#/definitions/io.k8s.api.extensions.v1beta1.IngressBackend"
description:
Backend defines the referenced service endpoint to which the
traffic will be forwarded to.
path:
description:
Path is matched against the path of an incoming request. Currently
it can contain characters disallowed from the conventional "path" part
of a URL as defined by RFC 3986. Paths must begin with a '/'. When
unspecified, all paths from incoming requests are matched.
type: string
pathType:
description: >-
PathType determines the interpretation of the Path matching. PathType
can be one of the following values: * Exact: Matches the URL path
exactly. * Prefix: Matches based on a URL path prefix split by '/'.
Matching is
done on a path element by element basis. A path element refers is the
list of labels in the path split by the '/' separator. A request is a
match for path p if every p is an element-wise prefix of p of the
request path. Note that if the last element of the path is a substring
of the last element in request path, it is not a match (e.g. /foo/bar
matches /foo/bar/baz, but does not match /foo/barbaz).
* ImplementationSpecific: Interpretation of the Path matching is up to
the IngressClass. Implementations can treat this as a separate PathType
or treat it identically to Prefix or Exact path types.
Implementations are required to support all path types. Defaults to ImplementationSpecific.
type: string
required:
- backend
type: object
io.k8s.api.extensions.v1beta1.HTTPIngressRuleValue:
description: "HTTPIngressRuleValue is a list of http selectors pointing to
backends. In the example: http://<host>/<path>?<searchpart> -> backend
where where parts of the url correspond to RFC 3986, this resource will be
used to match against everything after the last '/' and before the first
'?' or '#'."
properties:
paths:
description: A collection of paths that map requests to backends.
items:
$ref: "#/definitions/io.k8s.api.extensions.v1beta1.HTTPIngressPath"
type: array
required:
- paths
type: object
io.k8s.api.extensions.v1beta1.Ingress:
description:
Ingress is a collection of rules that allow inbound connections to
reach the endpoints defined by a backend. An Ingress can be configured to
give services externally-reachable urls, load balance traffic, terminate
SSL, offer name based virtual hosting etc. DEPRECATED - This group version
of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the
release notes for more information.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.extensions.v1beta1.IngressSpec"
description: "Spec is the desired state of the Ingress. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.extensions.v1beta1.IngressStatus"
description: "Status is the current state of the Ingress. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: extensions
kind: Ingress
version: v1beta1
io.k8s.api.extensions.v1beta1.IngressBackend:
description: IngressBackend describes all endpoints for a given service and port.
properties:
resource:
$ref: "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference"
description:
Resource is an ObjectRef to another Kubernetes resource in the
namespace of the Ingress object. If resource is specified, serviceName
and servicePort must not be specified.
serviceName:
description: Specifies the name of the referenced service.
type: string
servicePort:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description: Specifies the port of the referenced service.
type: object
io.k8s.api.extensions.v1beta1.IngressList:
description: IngressList is a collection of Ingress.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is the list of Ingress.
items:
$ref: "#/definitions/io.k8s.api.extensions.v1beta1.Ingress"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: extensions
kind: IngressList
version: v1beta1
io.k8s.api.extensions.v1beta1.IngressRule:
description: IngressRule represents the rules mapping the paths under a
specified host to the related backend services. Incoming requests are
first evaluated for a host match, then routed to the backend associated
with the matching IngressRuleValue.
properties:
host:
description: >-
Host is the fully qualified domain name of a network host, as defined
by RFC 3986. Note the following deviations from the "host" part of the
URI as defined in RFC 3986: 1. IPs are not allowed. Currently an
IngressRuleValue can only apply to
the IP in the Spec of the parent Ingress.
2. The `:` delimiter is not respected because ports are not allowed.
Currently the port of an Ingress is implicitly :80 for http and
:443 for https.
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.
Host can be "precise" which is a domain name without the terminating dot of a network host (e.g. "foo.bar.com") or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. "*.foo.com"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == "*"). Requests will be matched against the Host field in the following way: 1. If Host is precise, the request matches this rule if the http host header is equal to Host. 2. If Host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule.
type: string
http:
$ref: "#/definitions/io.k8s.api.extensions.v1beta1.HTTPIngressRuleValue"
type: object
io.k8s.api.extensions.v1beta1.IngressSpec:
description: IngressSpec describes the Ingress the user wishes to exist.
properties:
backend:
$ref: "#/definitions/io.k8s.api.extensions.v1beta1.IngressBackend"
description:
A default backend capable of servicing requests that don't match
any rule. At least one of 'backend' or 'rules' must be specified. This
field is optional to allow the loadbalancer controller or defaulting
logic to specify a global default.
ingressClassName:
description:
IngressClassName is the name of the IngressClass cluster resource.
The associated IngressClass defines which controller will implement
the resource. This replaces the deprecated
`kubernetes.io/ingress.class` annotation. For backwards compatibility,
when that annotation is set, it must be given precedence over this
field. The controller may emit a warning if the field and annotation
have different values. Implementations of this API should ignore
Ingresses without a class specified. An IngressClass resource may be
marked as default, which can be used to set a default value for this
field. For more information, refer to the IngressClass documentation.
type: string
rules:
description:
A list of host rules used to configure the Ingress. If unspecified,
or no rule matches, all traffic is sent to the default backend.
items:
$ref: "#/definitions/io.k8s.api.extensions.v1beta1.IngressRule"
type: array
tls:
description:
TLS configuration. Currently the Ingress only supports a single TLS
port, 443. If multiple members of this list specify different hosts,
they will be multiplexed on the same port according to the hostname
specified through the SNI TLS extension, if the ingress controller
fulfilling the ingress supports SNI.
items:
$ref: "#/definitions/io.k8s.api.extensions.v1beta1.IngressTLS"
type: array
type: object
io.k8s.api.extensions.v1beta1.IngressStatus:
description: IngressStatus describe the current state of the Ingress.
properties:
loadBalancer:
$ref: "#/definitions/io.k8s.api.core.v1.LoadBalancerStatus"
description: LoadBalancer contains the current status of the load-balancer.
type: object
io.k8s.api.extensions.v1beta1.IngressTLS:
description:
IngressTLS describes the transport layer security associated with
an Ingress.
properties:
hosts:
description:
Hosts are a list of hosts included in the TLS certificate. The
values in this list must match the name/s used in the tlsSecret.
Defaults to the wildcard host setting for the loadbalancer controller
fulfilling this Ingress, if left unspecified.
items:
type: string
type: array
secretName:
description:
SecretName is the name of the secret used to terminate SSL traffic
on 443. Field is left optional to allow SSL routing based on SNI
hostname alone. If the SNI host in a listener conflicts with the
"Host" header field used by an IngressRule, the SNI host is used for
termination and value of the Host header is used for routing.
type: string
type: object
io.k8s.api.flowcontrol.v1alpha1.FlowDistinguisherMethod:
description: FlowDistinguisherMethod specifies the method of a flow distinguisher.
properties:
type:
description:
'`type` is the type of flow distinguisher method The supported
types are "ByUser" and "ByNamespace". Required.'
type: string
required:
- type
type: object
io.k8s.api.flowcontrol.v1alpha1.FlowSchema:
description: 'FlowSchema defines the schema of a group of flows. Note that a
flow is made up of a set of inbound API requests with similar attributes
and is identified by a pair of strings: the name of the FlowSchema and a
"flow distinguisher".'
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "`metadata` is the standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.FlowSchemaSpec"
description: "`spec` is the specification of the desired behavior of a
FlowSchema. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.FlowSchemaStatus"
description: "`status` is the current status of a FlowSchema. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: flowcontrol.apiserver.k8s.io
kind: FlowSchema
version: v1alpha1
io.k8s.api.flowcontrol.v1alpha1.FlowSchemaCondition:
description: FlowSchemaCondition describes conditions for a FlowSchema.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
"`lastTransitionTime` is the last time the condition transitioned
from one status to another."
message:
description:
"`message` is a human-readable message indicating details about
last transition."
type: string
reason:
description: "`reason` is a unique, one-word, CamelCase reason for the
condition's last transition."
type: string
status:
description:
"`status` is the status of the condition. Can be True, False,
Unknown. Required."
type: string
type:
description: "`type` is the type of the condition. Required."
type: string
type: object
io.k8s.api.flowcontrol.v1alpha1.FlowSchemaList:
description: FlowSchemaList is a list of FlowSchema objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "`items` is a list of FlowSchemas."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.FlowSchema"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "`metadata` is the standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: flowcontrol.apiserver.k8s.io
kind: FlowSchemaList
version: v1alpha1
io.k8s.api.flowcontrol.v1alpha1.FlowSchemaSpec:
description: FlowSchemaSpec describes how the FlowSchema's specification looks like.
properties:
distinguisherMethod:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.FlowDistinguisherMethod"
description: "`distinguisherMethod` defines how to compute the flow
distinguisher for requests that match this schema. `nil` specifies
that the distinguisher is disabled and thus will always be the empty
string."
matchingPrecedence:
description:
"`matchingPrecedence` is used to choose among the FlowSchemas that
match a given request. The chosen FlowSchema is among those with the
numerically lowest (which we take to be logically highest)
MatchingPrecedence. Each MatchingPrecedence value must be ranged in
[1,10000]. Note that if the precedence is not specified, it will be
set to 1000 as default."
format: int32
type: integer
priorityLevelConfiguration:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfiguration\
Reference"
description: "`priorityLevelConfiguration` should reference a
PriorityLevelConfiguration in the cluster. If the reference cannot be
resolved, the FlowSchema will be ignored and marked as invalid in its
status. Required."
rules:
description:
"`rules` describes which requests will match this flow schema. This
FlowSchema matches a request if and only if at least one member of
rules matches the request. if it is an empty slice, there will be no
requests matching the FlowSchema."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.PolicyRulesWithSubjects"
type: array
x-kubernetes-list-type: atomic
required:
- priorityLevelConfiguration
type: object
io.k8s.api.flowcontrol.v1alpha1.FlowSchemaStatus:
description: FlowSchemaStatus represents the current state of a FlowSchema.
properties:
conditions:
description: "`conditions` is a list of the current states of FlowSchema."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.FlowSchemaCondition"
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
type: object
io.k8s.api.flowcontrol.v1alpha1.GroupSubject:
description: GroupSubject holds detailed information for group-kind subject.
properties:
name:
description:
name is the user group that matches, or "*" to match all user
groups. See
https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go
for some well-known group names. Required.
type: string
required:
- name
type: object
io.k8s.api.flowcontrol.v1alpha1.LimitResponse:
description: LimitResponse defines how to handle requests that can not be
executed right now.
properties:
queuing:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.QueuingConfiguration"
description:
'`queuing` holds the configuration parameters for queuing. This
field may be non-empty only if `type` is `"Queue"`.'
type:
description:
'`type` is "Queue" or "Reject". "Queue" means that requests that
can not be executed upon arrival are held in a queue until they can be
executed or a queuing limit is reached. "Reject" means that requests
that can not be executed upon arrival are rejected. Required.'
type: string
required:
- type
type: object
x-kubernetes-unions:
- discriminator: type
fields-to-discriminateBy:
queuing: Queuing
io.k8s.api.flowcontrol.v1alpha1.LimitedPriorityLevelConfiguration:
description: >-
LimitedPriorityLevelConfiguration specifies how to handle requests that
are subject to limits. It addresses two issues:
* How are requests for this priority level limited?
* What should be done with requests that exceed the limit?
properties:
assuredConcurrencyShares:
description: >-
`assuredConcurrencyShares` (ACS) configures the execution limit, which
is a limit on the number of requests of this priority level that may
be exeucting at a given time. ACS must be a positive number. The
server's concurrency limit (SCL) is divided among the
concurrency-controlled priority levels in proportion to their assured
concurrency shares. This produces the assured concurrency value (ACV)
--- the number of requests that may be executing at a time --- for
each such priority level:
ACV(l) = ceil( SCL * ACS(l) / ( sum[priority levels k] ACS(k) ) )
bigger numbers of ACS mean more reserved concurrent requests (at the expense of every other PL). This field has a default value of 30.
format: int32
type: integer
limitResponse:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.LimitResponse"
description:
"`limitResponse` indicates what to do with requests that can not be
executed right now"
type: object
io.k8s.api.flowcontrol.v1alpha1.NonResourcePolicyRule:
description: NonResourcePolicyRule is a predicate that matches non-resource
requests according to their verb and the target non-resource URL. A
NonResourcePolicyRule matches a request if and only if both (a) at least
one member of verbs matches the request and (b) at least one member of
nonResourceURLs matches the request.
properties:
nonResourceURLs:
description: >-
`nonResourceURLs` is a set of url prefixes that a user should have
access to and may not be empty. For example:
- "/healthz" is legal
- "/hea*" is illegal
- "/hea" is legal but matches nothing
- "/hea/*" also matches nothing
- "/healthz/*" matches all per-component health checks.
"*" matches all non-resource urls. if it is present, it must be the only entry. Required.
items:
type: string
type: array
x-kubernetes-list-type: set
verbs:
description:
'`verbs` is a list of matching verbs and may not be empty. "*"
matches all verbs. If it is present, it must be the only entry.
Required.'
items:
type: string
type: array
x-kubernetes-list-type: set
required:
- verbs
- nonResourceURLs
type: object
io.k8s.api.flowcontrol.v1alpha1.PolicyRulesWithSubjects:
description:
PolicyRulesWithSubjects prescribes a test that applies to a request
to an apiserver. The test considers the subject making the request, the
verb being requested, and the resource to be acted upon. This
PolicyRulesWithSubjects matches a request if and only if both (a) at least
one member of subjects matches the request and (b) at least one member of
resourceRules or nonResourceRules matches the request.
properties:
nonResourceRules:
description:
"`nonResourceRules` is a list of NonResourcePolicyRules that
identify matching requests according to their verb and the target
non-resource URL."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.NonResourcePolicyRule"
type: array
x-kubernetes-list-type: atomic
resourceRules:
description:
"`resourceRules` is a slice of ResourcePolicyRules that identify
matching requests according to their verb and the target resource. At
least one of `resourceRules` and `nonResourceRules` has to be
non-empty."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.ResourcePolicyRule"
type: array
x-kubernetes-list-type: atomic
subjects:
description:
subjects is the list of normal user, serviceaccount, or group that
this rule cares about. There must be at least one member in this
slice. A slice that includes both the system:authenticated and
system:unauthenticated user groups matches every request. Required.
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.Subject"
type: array
x-kubernetes-list-type: atomic
required:
- subjects
type: object
io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfiguration:
description: PriorityLevelConfiguration represents the configuration of a
priority level.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "`metadata` is the standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfiguration\
Spec"
description: '`spec` is the specification of the desired behavior of a
"request-priority". More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
status:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfiguration\
Status"
description:
'`status` is the current status of a "request-priority". More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
type: object
x-kubernetes-group-version-kind:
- group: flowcontrol.apiserver.k8s.io
kind: PriorityLevelConfiguration
version: v1alpha1
io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfigurationCondition:
description: PriorityLevelConfigurationCondition defines the condition of
priority level.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
"`lastTransitionTime` is the last time the condition transitioned
from one status to another."
message:
description:
"`message` is a human-readable message indicating details about
last transition."
type: string
reason:
description: "`reason` is a unique, one-word, CamelCase reason for the
condition's last transition."
type: string
status:
description:
"`status` is the status of the condition. Can be True, False,
Unknown. Required."
type: string
type:
description: "`type` is the type of the condition. Required."
type: string
type: object
io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfigurationList:
description: PriorityLevelConfigurationList is a list of
PriorityLevelConfiguration objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "`items` is a list of request-priorities."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfiguration"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "`metadata` is the standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: flowcontrol.apiserver.k8s.io
kind: PriorityLevelConfigurationList
version: v1alpha1
io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfigurationReference:
description: PriorityLevelConfigurationReference contains information that
points to the "request-priority" being used.
properties:
name:
description:
"`name` is the name of the priority level configuration being
referenced Required."
type: string
required:
- name
type: object
io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfigurationSpec:
description: PriorityLevelConfigurationSpec specifies the configuration of a
priority level.
properties:
limited:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1alpha1.LimitedPriorityLevelConfig\
uration"
description: '`limited` specifies how requests are handled for a Limited
priority level. This field must be non-empty if and only if `type` is
`"Limited"`.'
type:
description: '`type` indicates whether this priority level is subject to
limitation on request execution. A value of `"Exempt"` means that
requests of this priority level are not subject to a limit (and thus
are never queued) and do not detract from the capacity made available
to other priority levels. A value of `"Limited"` means that (a)
requests of this priority level _are_ subject to limits and (b) some
of the server''s limited capacity is made available exclusively to this
priority level. Required.'
type: string
required:
- type
type: object
x-kubernetes-unions:
- discriminator: type
fields-to-discriminateBy:
limited: Limited
io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfigurationStatus:
description:
PriorityLevelConfigurationStatus represents the current state of a
"request-priority".
properties:
conditions:
description: '`conditions` is the current state of "request-priority".'
items:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1alpha1.PriorityLevelConfiguration\
Condition"
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
type: object
io.k8s.api.flowcontrol.v1alpha1.QueuingConfiguration:
description: QueuingConfiguration holds the configuration parameters for queuing
properties:
handSize:
description:
"`handSize` is a small positive number that configures the shuffle
sharding of requests into queues. When enqueuing a request at this
priority level the request's flow identifier (a string pair) is hashed
and the hash value is used to shuffle the list of queues and deal a
hand of the size specified here. The request is put into one of the
shortest queues in that hand. `handSize` must be no larger than
`queues`, and should be significantly smaller (so that a few heavy
flows do not saturate most of the queues). See the user-facing
documentation for more extensive guidance on setting this field. This
field has a default value of 8."
format: int32
type: integer
queueLengthLimit:
description:
"`queueLengthLimit` is the maximum number of requests allowed to be
waiting in a given queue of this priority level at a time; excess
requests are rejected. This value must be positive. If not
specified, it will be defaulted to 50."
format: int32
type: integer
queues:
description:
"`queues` is the number of queues for this priority level. The
queues exist independently at each apiserver. The value must be
positive. Setting it to 1 effectively precludes shufflesharding and
thus makes the distinguisher method of associated flow schemas
irrelevant. This field has a default value of 64."
format: int32
type: integer
type: object
io.k8s.api.flowcontrol.v1alpha1.ResourcePolicyRule:
description: "ResourcePolicyRule is a predicate that matches some resource
requests, testing the request's verb and the target resource. A
ResourcePolicyRule matches a resource request if and only if: (a) at least
one member of verbs matches the request, (b) at least one member of
apiGroups matches the request, (c) at least one member of resources
matches the request, and (d) least one member of namespaces matches the
request."
properties:
apiGroups:
description:
'`apiGroups` is a list of matching API groups and may not be empty.
"*" matches all API groups and, if present, must be the only entry.
Required.'
items:
type: string
type: array
x-kubernetes-list-type: set
clusterScope:
description:
"`clusterScope` indicates whether to match requests that do not
specify a namespace (which happens either because the resource is not
namespaced or the request targets all namespaces). If this field is
omitted or false then the `namespaces` field must contain a non-empty
list."
type: boolean
namespaces:
description: '`namespaces` is a list of target namespaces that restricts
matches. A request that specifies a target namespace matches only if
either (a) this list contains that target namespace or (b) this list
contains "*". Note that "*" matches any specified namespace but does
not match a request that _does not specify_ a namespace (see the
`clusterScope` field for that). This list may be empty, but only if
`clusterScope` is true.'
items:
type: string
type: array
x-kubernetes-list-type: set
resources:
description:
'`resources` is a list of matching resources (i.e., lowercase and
plural) with, if desired, subresource. For example, [ "services",
"nodes/status" ]. This list may not be empty. "*" matches all
resources and, if present, must be the only entry. Required.'
items:
type: string
type: array
x-kubernetes-list-type: set
verbs:
description:
'`verbs` is a list of matching verbs and may not be empty. "*"
matches all verbs and, if present, must be the only entry. Required.'
items:
type: string
type: array
x-kubernetes-list-type: set
required:
- verbs
- apiGroups
- resources
type: object
io.k8s.api.flowcontrol.v1alpha1.ServiceAccountSubject:
description: ServiceAccountSubject holds detailed information for
service-account-kind subject.
properties:
name:
description:
'`name` is the name of matching ServiceAccount objects, or "*" to
match regardless of name. Required.'
type: string
namespace:
description:
"`namespace` is the namespace of matching ServiceAccount objects.
Required."
type: string
required:
- namespace
- name
type: object
io.k8s.api.flowcontrol.v1alpha1.Subject:
description:
Subject matches the originator of a request, as identified by the
request authentication system. There are three ways of matching an
originator; by user, group, or service account.
properties:
group:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.GroupSubject"
kind:
description: Required
type: string
serviceAccount:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.ServiceAccountSubject"
user:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1alpha1.UserSubject"
required:
- kind
type: object
x-kubernetes-unions:
- discriminator: kind
fields-to-discriminateBy:
group: Group
serviceAccount: ServiceAccount
user: User
io.k8s.api.flowcontrol.v1alpha1.UserSubject:
description: UserSubject holds detailed information for user-kind subject.
properties:
name:
description: '`name` is the username that matches, or "*" to match all
usernames. Required.'
type: string
required:
- name
type: object
io.k8s.api.flowcontrol.v1beta1.FlowDistinguisherMethod:
description: FlowDistinguisherMethod specifies the method of a flow distinguisher.
properties:
type:
description:
'`type` is the type of flow distinguisher method The supported
types are "ByUser" and "ByNamespace". Required.'
type: string
required:
- type
type: object
io.k8s.api.flowcontrol.v1beta1.FlowSchema:
description: 'FlowSchema defines the schema of a group of flows. Note that a
flow is made up of a set of inbound API requests with similar attributes
and is identified by a pair of strings: the name of the FlowSchema and a
"flow distinguisher".'
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "`metadata` is the standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.FlowSchemaSpec"
description: "`spec` is the specification of the desired behavior of a
FlowSchema. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.FlowSchemaStatus"
description: "`status` is the current status of a FlowSchema. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: flowcontrol.apiserver.k8s.io
kind: FlowSchema
version: v1beta1
io.k8s.api.flowcontrol.v1beta1.FlowSchemaCondition:
description: FlowSchemaCondition describes conditions for a FlowSchema.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
"`lastTransitionTime` is the last time the condition transitioned
from one status to another."
message:
description:
"`message` is a human-readable message indicating details about
last transition."
type: string
reason:
description: "`reason` is a unique, one-word, CamelCase reason for the
condition's last transition."
type: string
status:
description:
"`status` is the status of the condition. Can be True, False,
Unknown. Required."
type: string
type:
description: "`type` is the type of the condition. Required."
type: string
type: object
io.k8s.api.flowcontrol.v1beta1.FlowSchemaList:
description: FlowSchemaList is a list of FlowSchema objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "`items` is a list of FlowSchemas."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.FlowSchema"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "`metadata` is the standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: flowcontrol.apiserver.k8s.io
kind: FlowSchemaList
version: v1beta1
io.k8s.api.flowcontrol.v1beta1.FlowSchemaSpec:
description: FlowSchemaSpec describes how the FlowSchema's specification looks like.
properties:
distinguisherMethod:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.FlowDistinguisherMethod"
description: "`distinguisherMethod` defines how to compute the flow
distinguisher for requests that match this schema. `nil` specifies
that the distinguisher is disabled and thus will always be the empty
string."
matchingPrecedence:
description:
"`matchingPrecedence` is used to choose among the FlowSchemas that
match a given request. The chosen FlowSchema is among those with the
numerically lowest (which we take to be logically highest)
MatchingPrecedence. Each MatchingPrecedence value must be ranged in
[1,10000]. Note that if the precedence is not specified, it will be
set to 1000 as default."
format: int32
type: integer
priorityLevelConfiguration:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfigurationR\
eference"
description: "`priorityLevelConfiguration` should reference a
PriorityLevelConfiguration in the cluster. If the reference cannot be
resolved, the FlowSchema will be ignored and marked as invalid in its
status. Required."
rules:
description:
"`rules` describes which requests will match this flow schema. This
FlowSchema matches a request if and only if at least one member of
rules matches the request. if it is an empty slice, there will be no
requests matching the FlowSchema."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.PolicyRulesWithSubjects"
type: array
x-kubernetes-list-type: atomic
required:
- priorityLevelConfiguration
type: object
io.k8s.api.flowcontrol.v1beta1.FlowSchemaStatus:
description: FlowSchemaStatus represents the current state of a FlowSchema.
properties:
conditions:
description: "`conditions` is a list of the current states of FlowSchema."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.FlowSchemaCondition"
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
type: object
io.k8s.api.flowcontrol.v1beta1.GroupSubject:
description: GroupSubject holds detailed information for group-kind subject.
properties:
name:
description:
name is the user group that matches, or "*" to match all user
groups. See
https://github.com/kubernetes/apiserver/blob/master/pkg/authentication/user/user.go
for some well-known group names. Required.
type: string
required:
- name
type: object
io.k8s.api.flowcontrol.v1beta1.LimitResponse:
description: LimitResponse defines how to handle requests that can not be
executed right now.
properties:
queuing:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.QueuingConfiguration"
description:
'`queuing` holds the configuration parameters for queuing. This
field may be non-empty only if `type` is `"Queue"`.'
type:
description:
'`type` is "Queue" or "Reject". "Queue" means that requests that
can not be executed upon arrival are held in a queue until they can be
executed or a queuing limit is reached. "Reject" means that requests
that can not be executed upon arrival are rejected. Required.'
type: string
required:
- type
type: object
x-kubernetes-unions:
- discriminator: type
fields-to-discriminateBy:
queuing: Queuing
io.k8s.api.flowcontrol.v1beta1.LimitedPriorityLevelConfiguration:
description: >-
LimitedPriorityLevelConfiguration specifies how to handle requests that
are subject to limits. It addresses two issues:
* How are requests for this priority level limited?
* What should be done with requests that exceed the limit?
properties:
assuredConcurrencyShares:
description: >-
`assuredConcurrencyShares` (ACS) configures the execution limit, which
is a limit on the number of requests of this priority level that may
be exeucting at a given time. ACS must be a positive number. The
server's concurrency limit (SCL) is divided among the
concurrency-controlled priority levels in proportion to their assured
concurrency shares. This produces the assured concurrency value (ACV)
--- the number of requests that may be executing at a time --- for
each such priority level:
ACV(l) = ceil( SCL * ACS(l) / ( sum[priority levels k] ACS(k) ) )
bigger numbers of ACS mean more reserved concurrent requests (at the expense of every other PL). This field has a default value of 30.
format: int32
type: integer
limitResponse:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.LimitResponse"
description:
"`limitResponse` indicates what to do with requests that can not be
executed right now"
type: object
io.k8s.api.flowcontrol.v1beta1.NonResourcePolicyRule:
description: NonResourcePolicyRule is a predicate that matches non-resource
requests according to their verb and the target non-resource URL. A
NonResourcePolicyRule matches a request if and only if both (a) at least
one member of verbs matches the request and (b) at least one member of
nonResourceURLs matches the request.
properties:
nonResourceURLs:
description: >-
`nonResourceURLs` is a set of url prefixes that a user should have
access to and may not be empty. For example:
- "/healthz" is legal
- "/hea*" is illegal
- "/hea" is legal but matches nothing
- "/hea/*" also matches nothing
- "/healthz/*" matches all per-component health checks.
"*" matches all non-resource urls. if it is present, it must be the only entry. Required.
items:
type: string
type: array
x-kubernetes-list-type: set
verbs:
description:
'`verbs` is a list of matching verbs and may not be empty. "*"
matches all verbs. If it is present, it must be the only entry.
Required.'
items:
type: string
type: array
x-kubernetes-list-type: set
required:
- verbs
- nonResourceURLs
type: object
io.k8s.api.flowcontrol.v1beta1.PolicyRulesWithSubjects:
description:
PolicyRulesWithSubjects prescribes a test that applies to a request
to an apiserver. The test considers the subject making the request, the
verb being requested, and the resource to be acted upon. This
PolicyRulesWithSubjects matches a request if and only if both (a) at least
one member of subjects matches the request and (b) at least one member of
resourceRules or nonResourceRules matches the request.
properties:
nonResourceRules:
description:
"`nonResourceRules` is a list of NonResourcePolicyRules that
identify matching requests according to their verb and the target
non-resource URL."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.NonResourcePolicyRule"
type: array
x-kubernetes-list-type: atomic
resourceRules:
description:
"`resourceRules` is a slice of ResourcePolicyRules that identify
matching requests according to their verb and the target resource. At
least one of `resourceRules` and `nonResourceRules` has to be
non-empty."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.ResourcePolicyRule"
type: array
x-kubernetes-list-type: atomic
subjects:
description:
subjects is the list of normal user, serviceaccount, or group that
this rule cares about. There must be at least one member in this
slice. A slice that includes both the system:authenticated and
system:unauthenticated user groups matches every request. Required.
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.Subject"
type: array
x-kubernetes-list-type: atomic
required:
- subjects
type: object
io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfiguration:
description: PriorityLevelConfiguration represents the configuration of a
priority level.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "`metadata` is the standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfigurationS\
pec"
description: '`spec` is the specification of the desired behavior of a
"request-priority". More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
status:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfigurationS\
tatus"
description:
'`status` is the current status of a "request-priority". More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
type: object
x-kubernetes-group-version-kind:
- group: flowcontrol.apiserver.k8s.io
kind: PriorityLevelConfiguration
version: v1beta1
io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfigurationCondition:
description: PriorityLevelConfigurationCondition defines the condition of
priority level.
properties:
lastTransitionTime:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
"`lastTransitionTime` is the last time the condition transitioned
from one status to another."
message:
description:
"`message` is a human-readable message indicating details about
last transition."
type: string
reason:
description: "`reason` is a unique, one-word, CamelCase reason for the
condition's last transition."
type: string
status:
description:
"`status` is the status of the condition. Can be True, False,
Unknown. Required."
type: string
type:
description: "`type` is the type of the condition. Required."
type: string
type: object
io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfigurationList:
description: PriorityLevelConfigurationList is a list of
PriorityLevelConfiguration objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: "`items` is a list of request-priorities."
items:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfiguration"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "`metadata` is the standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: flowcontrol.apiserver.k8s.io
kind: PriorityLevelConfigurationList
version: v1beta1
io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfigurationReference:
description: PriorityLevelConfigurationReference contains information that
points to the "request-priority" being used.
properties:
name:
description:
"`name` is the name of the priority level configuration being
referenced Required."
type: string
required:
- name
type: object
io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfigurationSpec:
description: PriorityLevelConfigurationSpec specifies the configuration of a
priority level.
properties:
limited:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1beta1.LimitedPriorityLevelConfigu\
ration"
description: '`limited` specifies how requests are handled for a Limited
priority level. This field must be non-empty if and only if `type` is
`"Limited"`.'
type:
description: '`type` indicates whether this priority level is subject to
limitation on request execution. A value of `"Exempt"` means that
requests of this priority level are not subject to a limit (and thus
are never queued) and do not detract from the capacity made available
to other priority levels. A value of `"Limited"` means that (a)
requests of this priority level _are_ subject to limits and (b) some
of the server''s limited capacity is made available exclusively to this
priority level. Required.'
type: string
required:
- type
type: object
x-kubernetes-unions:
- discriminator: type
fields-to-discriminateBy:
limited: Limited
io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfigurationStatus:
description:
PriorityLevelConfigurationStatus represents the current state of a
"request-priority".
properties:
conditions:
description: '`conditions` is the current state of "request-priority".'
items:
$ref:
"#/definitions/io.k8s.api.flowcontrol.v1beta1.PriorityLevelConfigurationC\
ondition"
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
type: object
io.k8s.api.flowcontrol.v1beta1.QueuingConfiguration:
description: QueuingConfiguration holds the configuration parameters for queuing
properties:
handSize:
description:
"`handSize` is a small positive number that configures the shuffle
sharding of requests into queues. When enqueuing a request at this
priority level the request's flow identifier (a string pair) is hashed
and the hash value is used to shuffle the list of queues and deal a
hand of the size specified here. The request is put into one of the
shortest queues in that hand. `handSize` must be no larger than
`queues`, and should be significantly smaller (so that a few heavy
flows do not saturate most of the queues). See the user-facing
documentation for more extensive guidance on setting this field. This
field has a default value of 8."
format: int32
type: integer
queueLengthLimit:
description:
"`queueLengthLimit` is the maximum number of requests allowed to be
waiting in a given queue of this priority level at a time; excess
requests are rejected. This value must be positive. If not
specified, it will be defaulted to 50."
format: int32
type: integer
queues:
description:
"`queues` is the number of queues for this priority level. The
queues exist independently at each apiserver. The value must be
positive. Setting it to 1 effectively precludes shufflesharding and
thus makes the distinguisher method of associated flow schemas
irrelevant. This field has a default value of 64."
format: int32
type: integer
type: object
io.k8s.api.flowcontrol.v1beta1.ResourcePolicyRule:
description: "ResourcePolicyRule is a predicate that matches some resource
requests, testing the request's verb and the target resource. A
ResourcePolicyRule matches a resource request if and only if: (a) at least
one member of verbs matches the request, (b) at least one member of
apiGroups matches the request, (c) at least one member of resources
matches the request, and (d) least one member of namespaces matches the
request."
properties:
apiGroups:
description:
'`apiGroups` is a list of matching API groups and may not be empty.
"*" matches all API groups and, if present, must be the only entry.
Required.'
items:
type: string
type: array
x-kubernetes-list-type: set
clusterScope:
description:
"`clusterScope` indicates whether to match requests that do not
specify a namespace (which happens either because the resource is not
namespaced or the request targets all namespaces). If this field is
omitted or false then the `namespaces` field must contain a non-empty
list."
type: boolean
namespaces:
description: '`namespaces` is a list of target namespaces that restricts
matches. A request that specifies a target namespace matches only if
either (a) this list contains that target namespace or (b) this list
contains "*". Note that "*" matches any specified namespace but does
not match a request that _does not specify_ a namespace (see the
`clusterScope` field for that). This list may be empty, but only if
`clusterScope` is true.'
items:
type: string
type: array
x-kubernetes-list-type: set
resources:
description:
'`resources` is a list of matching resources (i.e., lowercase and
plural) with, if desired, subresource. For example, [ "services",
"nodes/status" ]. This list may not be empty. "*" matches all
resources and, if present, must be the only entry. Required.'
items:
type: string
type: array
x-kubernetes-list-type: set
verbs:
description:
'`verbs` is a list of matching verbs and may not be empty. "*"
matches all verbs and, if present, must be the only entry. Required.'
items:
type: string
type: array
x-kubernetes-list-type: set
required:
- verbs
- apiGroups
- resources
type: object
io.k8s.api.flowcontrol.v1beta1.ServiceAccountSubject:
description: ServiceAccountSubject holds detailed information for
service-account-kind subject.
properties:
name:
description:
'`name` is the name of matching ServiceAccount objects, or "*" to
match regardless of name. Required.'
type: string
namespace:
description:
"`namespace` is the namespace of matching ServiceAccount objects.
Required."
type: string
required:
- namespace
- name
type: object
io.k8s.api.flowcontrol.v1beta1.Subject:
description:
Subject matches the originator of a request, as identified by the
request authentication system. There are three ways of matching an
originator; by user, group, or service account.
properties:
group:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.GroupSubject"
kind:
description: Required
type: string
serviceAccount:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.ServiceAccountSubject"
user:
$ref: "#/definitions/io.k8s.api.flowcontrol.v1beta1.UserSubject"
required:
- kind
type: object
x-kubernetes-unions:
- discriminator: kind
fields-to-discriminateBy:
group: Group
serviceAccount: ServiceAccount
user: User
io.k8s.api.flowcontrol.v1beta1.UserSubject:
description: UserSubject holds detailed information for user-kind subject.
properties:
name:
description: '`name` is the username that matches, or "*" to match all
usernames. Required.'
type: string
required:
- name
type: object
io.k8s.api.networking.v1.HTTPIngressPath:
description: HTTPIngressPath associates a path with a backend. Incoming urls
matching the path are forwarded to the backend.
properties:
backend:
$ref: "#/definitions/io.k8s.api.networking.v1.IngressBackend"
description:
Backend defines the referenced service endpoint to which the
traffic will be forwarded to.
path:
description:
Path is matched against the path of an incoming request. Currently
it can contain characters disallowed from the conventional "path" part
of a URL as defined by RFC 3986. Paths must begin with a '/'. When
unspecified, all paths from incoming requests are matched.
type: string
pathType:
description: >-
PathType determines the interpretation of the Path matching. PathType
can be one of the following values: * Exact: Matches the URL path
exactly. * Prefix: Matches based on a URL path prefix split by '/'.
Matching is
done on a path element by element basis. A path element refers is the
list of labels in the path split by the '/' separator. A request is a
match for path p if every p is an element-wise prefix of p of the
request path. Note that if the last element of the path is a substring
of the last element in request path, it is not a match (e.g. /foo/bar
matches /foo/bar/baz, but does not match /foo/barbaz).
* ImplementationSpecific: Interpretation of the Path matching is up to
the IngressClass. Implementations can treat this as a separate PathType
or treat it identically to Prefix or Exact path types.
Implementations are required to support all path types.
type: string
required:
- backend
type: object
io.k8s.api.networking.v1.HTTPIngressRuleValue:
description: "HTTPIngressRuleValue is a list of http selectors pointing to
backends. In the example: http://<host>/<path>?<searchpart> -> backend
where where parts of the url correspond to RFC 3986, this resource will be
used to match against everything after the last '/' and before the first
'?' or '#'."
properties:
paths:
description: A collection of paths that map requests to backends.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.HTTPIngressPath"
type: array
x-kubernetes-list-type: atomic
required:
- paths
type: object
io.k8s.api.networking.v1.IPBlock:
description: IPBlock describes a particular CIDR (Ex.
"192.168.1.1/24","2001:db9::/64") that is allowed to the pods matched by a
NetworkPolicySpec's podSelector. The except entry describes CIDRs that
should not be included within this rule.
properties:
cidr:
description:
CIDR is a string representing the IP Block Valid examples are
"192.168.1.1/24" or "2001:db9::/64"
type: string
except:
description:
Except is a slice of CIDRs that should not be included within an IP
Block Valid examples are "192.168.1.1/24" or "2001:db9::/64" Except
values will be rejected if they are outside the CIDR range
items:
type: string
type: array
required:
- cidr
type: object
io.k8s.api.networking.v1.Ingress:
description:
Ingress is a collection of rules that allow inbound connections to
reach the endpoints defined by a backend. An Ingress can be configured to
give services externally-reachable urls, load balance traffic, terminate
SSL, offer name based virtual hosting etc.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.networking.v1.IngressSpec"
description: "Spec is the desired state of the Ingress. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.networking.v1.IngressStatus"
description: "Status is the current state of the Ingress. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: Ingress
version: v1
io.k8s.api.networking.v1.IngressBackend:
description: IngressBackend describes all endpoints for a given service and port.
properties:
resource:
$ref: "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference"
description:
Resource is an ObjectRef to another Kubernetes resource in the
namespace of the Ingress object. If resource is specified, a
service.Name and service.Port must not be specified. This is a
mutually exclusive setting with "Service".
service:
$ref: "#/definitions/io.k8s.api.networking.v1.IngressServiceBackend"
description:
Service references a Service as a Backend. This is a mutually
exclusive setting with "Resource".
type: object
io.k8s.api.networking.v1.IngressClass:
description:
IngressClass represents the class of the Ingress, referenced by the
Ingress Spec. The `ingressclass.kubernetes.io/is-default-class` annotation
can be used to indicate that an IngressClass should be considered default.
When a single IngressClass resource has this annotation set to true, new
Ingress resources without a class specified will be assigned this default
class.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.networking.v1.IngressClassSpec"
description: "Spec is the desired state of the IngressClass. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: IngressClass
version: v1
io.k8s.api.networking.v1.IngressClassList:
description: IngressClassList is a collection of IngressClasses.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is the list of IngressClasses.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.IngressClass"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: Standard list metadata.
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: IngressClassList
version: v1
io.k8s.api.networking.v1.IngressClassSpec:
description: IngressClassSpec provides information about the class of an Ingress.
properties:
controller:
description:
Controller refers to the name of the controller that should handle
this class. This allows for different "flavors" that are controlled by
the same controller. For example, you may have different Parameters
for the same implementing controller. This should be specified as a
domain-prefixed path no more than 250 characters in length, e.g.
"acme.io/ingress-controller". This field is immutable.
type: string
parameters:
$ref: "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference"
description:
Parameters is a link to a custom resource containing additional
configuration for the controller. This is optional if the controller
does not require extra parameters.
type: object
io.k8s.api.networking.v1.IngressList:
description: IngressList is a collection of Ingress.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is the list of Ingress.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.Ingress"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: IngressList
version: v1
io.k8s.api.networking.v1.IngressRule:
description: IngressRule represents the rules mapping the paths under a
specified host to the related backend services. Incoming requests are
first evaluated for a host match, then routed to the backend associated
with the matching IngressRuleValue.
properties:
host:
description: >-
Host is the fully qualified domain name of a network host, as defined
by RFC 3986. Note the following deviations from the "host" part of the
URI as defined in RFC 3986: 1. IPs are not allowed. Currently an
IngressRuleValue can only apply to
the IP in the Spec of the parent Ingress.
2. The `:` delimiter is not respected because ports are not allowed.
Currently the port of an Ingress is implicitly :80 for http and
:443 for https.
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.
Host can be "precise" which is a domain name without the terminating dot of a network host (e.g. "foo.bar.com") or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. "*.foo.com"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == "*"). Requests will be matched against the Host field in the following way: 1. If Host is precise, the request matches this rule if the http host header is equal to Host. 2. If Host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule.
type: string
http:
$ref: "#/definitions/io.k8s.api.networking.v1.HTTPIngressRuleValue"
type: object
io.k8s.api.networking.v1.IngressServiceBackend:
description: IngressServiceBackend references a Kubernetes Service as a Backend.
properties:
name:
description:
Name is the referenced service. The service must exist in the same
namespace as the Ingress object.
type: string
port:
$ref: "#/definitions/io.k8s.api.networking.v1.ServiceBackendPort"
description:
Port of the referenced service. A port name or port number is
required for a IngressServiceBackend.
required:
- name
type: object
io.k8s.api.networking.v1.IngressSpec:
description: IngressSpec describes the Ingress the user wishes to exist.
properties:
defaultBackend:
$ref: "#/definitions/io.k8s.api.networking.v1.IngressBackend"
description:
DefaultBackend is the backend that should handle requests that
don't match any rule. If Rules are not specified, DefaultBackend must
be specified. If DefaultBackend is not set, the handling of requests
that do not match any of the rules will be up to the Ingress
controller.
ingressClassName:
description:
IngressClassName is the name of the IngressClass cluster resource.
The associated IngressClass defines which controller will implement
the resource. This replaces the deprecated
`kubernetes.io/ingress.class` annotation. For backwards compatibility,
when that annotation is set, it must be given precedence over this
field. The controller may emit a warning if the field and annotation
have different values. Implementations of this API should ignore
Ingresses without a class specified. An IngressClass resource may be
marked as default, which can be used to set a default value for this
field. For more information, refer to the IngressClass documentation.
type: string
rules:
description:
A list of host rules used to configure the Ingress. If unspecified,
or no rule matches, all traffic is sent to the default backend.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.IngressRule"
type: array
x-kubernetes-list-type: atomic
tls:
description:
TLS configuration. Currently the Ingress only supports a single TLS
port, 443. If multiple members of this list specify different hosts,
they will be multiplexed on the same port according to the hostname
specified through the SNI TLS extension, if the ingress controller
fulfilling the ingress supports SNI.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.IngressTLS"
type: array
x-kubernetes-list-type: atomic
type: object
io.k8s.api.networking.v1.IngressStatus:
description: IngressStatus describe the current state of the Ingress.
properties:
loadBalancer:
$ref: "#/definitions/io.k8s.api.core.v1.LoadBalancerStatus"
description: LoadBalancer contains the current status of the load-balancer.
type: object
io.k8s.api.networking.v1.IngressTLS:
description:
IngressTLS describes the transport layer security associated with
an Ingress.
properties:
hosts:
description:
Hosts are a list of hosts included in the TLS certificate. The
values in this list must match the name/s used in the tlsSecret.
Defaults to the wildcard host setting for the loadbalancer controller
fulfilling this Ingress, if left unspecified.
items:
type: string
type: array
x-kubernetes-list-type: atomic
secretName:
description:
SecretName is the name of the secret used to terminate TLS traffic
on port 443. Field is left optional to allow TLS routing based on SNI
hostname alone. If the SNI host in a listener conflicts with the
"Host" header field used by an IngressRule, the SNI host is used for
termination and value of the Host header is used for routing.
type: string
type: object
io.k8s.api.networking.v1.NetworkPolicy:
description: NetworkPolicy describes what network traffic is allowed for a set of Pods
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.networking.v1.NetworkPolicySpec"
description: Specification of the desired behavior for this NetworkPolicy.
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: NetworkPolicy
version: v1
io.k8s.api.networking.v1.NetworkPolicyEgressRule:
description:
NetworkPolicyEgressRule describes a particular set of traffic that
is allowed out of pods matched by a NetworkPolicySpec's podSelector. The
traffic must match both ports and to. This type is beta-level in 1.8
properties:
ports:
description:
List of destination ports for outgoing traffic. Each item in this
list is combined using a logical OR. If this field is empty or
missing, this rule matches all ports (traffic not restricted by port).
If this field is present and contains at least one item, then this
rule allows traffic only if the traffic matches at least one port in
the list.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.NetworkPolicyPort"
type: array
to:
description:
List of destinations for outgoing traffic of pods selected for this
rule. Items in this list are combined using a logical OR operation. If
this field is empty or missing, this rule matches all destinations
(traffic not restricted by destination). If this field is present and
contains at least one item, this rule allows traffic only if the
traffic matches at least one item in the to list.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.NetworkPolicyPeer"
type: array
type: object
io.k8s.api.networking.v1.NetworkPolicyIngressRule:
description:
NetworkPolicyIngressRule describes a particular set of traffic that
is allowed to the pods matched by a NetworkPolicySpec's podSelector. The
traffic must match both ports and from.
properties:
from:
description:
List of sources which should be able to access the pods selected
for this rule. Items in this list are combined using a logical OR
operation. If this field is empty or missing, this rule matches all
sources (traffic not restricted by source). If this field is present
and contains at least one item, this rule allows traffic only if the
traffic matches at least one item in the from list.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.NetworkPolicyPeer"
type: array
ports:
description:
List of ports which should be made accessible on the pods selected
for this rule. Each item in this list is combined using a logical OR.
If this field is empty or missing, this rule matches all ports
(traffic not restricted by port). If this field is present and
contains at least one item, then this rule allows traffic only if the
traffic matches at least one port in the list.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.NetworkPolicyPort"
type: array
type: object
io.k8s.api.networking.v1.NetworkPolicyList:
description: NetworkPolicyList is a list of NetworkPolicy objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is a list of schema objects.
items:
$ref: "#/definitions/io.k8s.api.networking.v1.NetworkPolicy"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: NetworkPolicyList
version: v1
io.k8s.api.networking.v1.NetworkPolicyPeer:
description:
NetworkPolicyPeer describes a peer to allow traffic to/from. Only
certain combinations of fields are allowed
properties:
ipBlock:
$ref: "#/definitions/io.k8s.api.networking.v1.IPBlock"
description:
IPBlock defines policy on a particular IPBlock. If this field is
set then neither of the other fields can be.
namespaceSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description: >-
Selects Namespaces using cluster-scoped labels. This field follows
standard label selector semantics; if present but empty, it selects
all namespaces.
If PodSelector is also set, then the NetworkPolicyPeer as a whole selects the Pods matching PodSelector in the Namespaces selected by NamespaceSelector. Otherwise it selects all Pods in the Namespaces selected by NamespaceSelector.
podSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description: >-
This is a label selector which selects Pods. This field follows
standard label selector semantics; if present but empty, it selects
all pods.
If NamespaceSelector is also set, then the NetworkPolicyPeer as a whole selects the Pods matching PodSelector in the Namespaces selected by NamespaceSelector. Otherwise it selects the Pods matching PodSelector in the policy's own Namespace.
type: object
io.k8s.api.networking.v1.NetworkPolicyPort:
description: NetworkPolicyPort describes a port to allow traffic on
properties:
port:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description:
The port on the given protocol. This can either be a numerical or
named port on a pod. If this field is not provided, this matches all
port names and numbers.
protocol:
description:
The protocol (TCP, UDP, or SCTP) which traffic must match. If not
specified, this field defaults to TCP.
type: string
type: object
io.k8s.api.networking.v1.NetworkPolicySpec:
description: NetworkPolicySpec provides the specification of a NetworkPolicy
properties:
egress:
description:
List of egress rules to be applied to the selected pods. Outgoing
traffic is allowed if there are no NetworkPolicies selecting the pod
(and cluster policy otherwise allows the traffic), OR if the traffic
matches at least one egress rule across all of the NetworkPolicy
objects whose podSelector matches the pod. If this field is empty then
this NetworkPolicy limits all outgoing traffic (and serves solely to
ensure that the pods it selects are isolated by default). This field
is beta-level in 1.8
items:
$ref: "#/definitions/io.k8s.api.networking.v1.NetworkPolicyEgressRule"
type: array
ingress:
description:
List of ingress rules to be applied to the selected pods. Traffic
is allowed to a pod if there are no NetworkPolicies selecting the pod
(and cluster policy otherwise allows the traffic), OR if the traffic
source is the pod's local node, OR if the traffic matches at least one
ingress rule across all of the NetworkPolicy objects whose podSelector
matches the pod. If this field is empty then this NetworkPolicy does
not allow any traffic (and serves solely to ensure that the pods it
selects are isolated by default)
items:
$ref: "#/definitions/io.k8s.api.networking.v1.NetworkPolicyIngressRule"
type: array
podSelector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
Selects the pods to which this NetworkPolicy object applies. The
array of ingress rules is applied to any pods selected by this field.
Multiple network policies can select the same set of pods. In this
case, the ingress rules for each are combined additively. This field
is NOT optional and follows standard label selector semantics. An
empty podSelector matches all pods in this namespace.
policyTypes:
description:
List of rule types that the NetworkPolicy relates to. Valid options
are "Ingress", "Egress", or "Ingress,Egress". If this field is not
specified, it will default based on the existence of Ingress or Egress
rules; policies that contain an Egress section are assumed to affect
Egress, and all policies (whether or not they contain an Ingress
section) are assumed to affect Ingress. If you want to write an
egress-only policy, you must explicitly specify policyTypes [ "Egress"
]. Likewise, if you want to write a policy that specifies that no
egress is allowed, you must specify a policyTypes value that include
"Egress" (since such a policy would not include an Egress section and
would otherwise default to just [ "Ingress" ]). This field is
beta-level in 1.8
items:
type: string
type: array
required:
- podSelector
type: object
io.k8s.api.networking.v1.ServiceBackendPort:
description: ServiceBackendPort is the service port being referenced.
properties:
name:
description:
Name is the name of the port on the Service. This is a mutually
exclusive setting with "Number".
type: string
number:
description:
Number is the numerical port number (e.g. 80) on the Service. This
is a mutually exclusive setting with "Name".
format: int32
type: integer
type: object
io.k8s.api.networking.v1beta1.HTTPIngressPath:
description: HTTPIngressPath associates a path with a backend. Incoming urls
matching the path are forwarded to the backend.
properties:
backend:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.IngressBackend"
description:
Backend defines the referenced service endpoint to which the
traffic will be forwarded to.
path:
description:
Path is matched against the path of an incoming request. Currently
it can contain characters disallowed from the conventional "path" part
of a URL as defined by RFC 3986. Paths must begin with a '/'. When
unspecified, all paths from incoming requests are matched.
type: string
pathType:
description: >-
PathType determines the interpretation of the Path matching. PathType
can be one of the following values: * Exact: Matches the URL path
exactly. * Prefix: Matches based on a URL path prefix split by '/'.
Matching is
done on a path element by element basis. A path element refers is the
list of labels in the path split by the '/' separator. A request is a
match for path p if every p is an element-wise prefix of p of the
request path. Note that if the last element of the path is a substring
of the last element in request path, it is not a match (e.g. /foo/bar
matches /foo/bar/baz, but does not match /foo/barbaz).
* ImplementationSpecific: Interpretation of the Path matching is up to
the IngressClass. Implementations can treat this as a separate PathType
or treat it identically to Prefix or Exact path types.
Implementations are required to support all path types. Defaults to ImplementationSpecific.
type: string
required:
- backend
type: object
io.k8s.api.networking.v1beta1.HTTPIngressRuleValue:
description: "HTTPIngressRuleValue is a list of http selectors pointing to
backends. In the example: http://<host>/<path>?<searchpart> -> backend
where where parts of the url correspond to RFC 3986, this resource will be
used to match against everything after the last '/' and before the first
'?' or '#'."
properties:
paths:
description: A collection of paths that map requests to backends.
items:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.HTTPIngressPath"
type: array
required:
- paths
type: object
io.k8s.api.networking.v1beta1.Ingress:
description:
Ingress is a collection of rules that allow inbound connections to
reach the endpoints defined by a backend. An Ingress can be configured to
give services externally-reachable urls, load balance traffic, terminate
SSL, offer name based virtual hosting etc.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.IngressSpec"
description: "Spec is the desired state of the Ingress. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
status:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.IngressStatus"
description: "Status is the current state of the Ingress. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: Ingress
version: v1beta1
io.k8s.api.networking.v1beta1.IngressBackend:
description: IngressBackend describes all endpoints for a given service and port.
properties:
resource:
$ref: "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference"
description:
Resource is an ObjectRef to another Kubernetes resource in the
namespace of the Ingress object. If resource is specified, serviceName
and servicePort must not be specified.
serviceName:
description: Specifies the name of the referenced service.
type: string
servicePort:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description: Specifies the port of the referenced service.
type: object
io.k8s.api.networking.v1beta1.IngressClass:
description:
IngressClass represents the class of the Ingress, referenced by the
Ingress Spec. The `ingressclass.kubernetes.io/is-default-class` annotation
can be used to indicate that an IngressClass should be considered default.
When a single IngressClass resource has this annotation set to true, new
Ingress resources without a class specified will be assigned this default
class.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.IngressClassSpec"
description: "Spec is the desired state of the IngressClass. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: IngressClass
version: v1beta1
io.k8s.api.networking.v1beta1.IngressClassList:
description: IngressClassList is a collection of IngressClasses.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is the list of IngressClasses.
items:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.IngressClass"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: Standard list metadata.
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: IngressClassList
version: v1beta1
io.k8s.api.networking.v1beta1.IngressClassSpec:
description: IngressClassSpec provides information about the class of an Ingress.
properties:
controller:
description:
Controller refers to the name of the controller that should handle
this class. This allows for different "flavors" that are controlled by
the same controller. For example, you may have different Parameters
for the same implementing controller. This should be specified as a
domain-prefixed path no more than 250 characters in length, e.g.
"acme.io/ingress-controller". This field is immutable.
type: string
parameters:
$ref: "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference"
description:
Parameters is a link to a custom resource containing additional
configuration for the controller. This is optional if the controller
does not require extra parameters.
type: object
io.k8s.api.networking.v1beta1.IngressList:
description: IngressList is a collection of Ingress.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is the list of Ingress.
items:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.Ingress"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: networking.k8s.io
kind: IngressList
version: v1beta1
io.k8s.api.networking.v1beta1.IngressRule:
description: IngressRule represents the rules mapping the paths under a
specified host to the related backend services. Incoming requests are
first evaluated for a host match, then routed to the backend associated
with the matching IngressRuleValue.
properties:
host:
description: >-
Host is the fully qualified domain name of a network host, as defined
by RFC 3986. Note the following deviations from the "host" part of the
URI as defined in RFC 3986: 1. IPs are not allowed. Currently an
IngressRuleValue can only apply to
the IP in the Spec of the parent Ingress.
2. The `:` delimiter is not respected because ports are not allowed.
Currently the port of an Ingress is implicitly :80 for http and
:443 for https.
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.
Host can be "precise" which is a domain name without the terminating dot of a network host (e.g. "foo.bar.com") or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. "*.foo.com"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == "*"). Requests will be matched against the Host field in the following way: 1. If Host is precise, the request matches this rule if the http host header is equal to Host. 2. If Host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule.
type: string
http:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.HTTPIngressRuleValue"
type: object
io.k8s.api.networking.v1beta1.IngressSpec:
description: IngressSpec describes the Ingress the user wishes to exist.
properties:
backend:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.IngressBackend"
description:
A default backend capable of servicing requests that don't match
any rule. At least one of 'backend' or 'rules' must be specified. This
field is optional to allow the loadbalancer controller or defaulting
logic to specify a global default.
ingressClassName:
description:
IngressClassName is the name of the IngressClass cluster resource.
The associated IngressClass defines which controller will implement
the resource. This replaces the deprecated
`kubernetes.io/ingress.class` annotation. For backwards compatibility,
when that annotation is set, it must be given precedence over this
field. The controller may emit a warning if the field and annotation
have different values. Implementations of this API should ignore
Ingresses without a class specified. An IngressClass resource may be
marked as default, which can be used to set a default value for this
field. For more information, refer to the IngressClass documentation.
type: string
rules:
description:
A list of host rules used to configure the Ingress. If unspecified,
or no rule matches, all traffic is sent to the default backend.
items:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.IngressRule"
type: array
tls:
description:
TLS configuration. Currently the Ingress only supports a single TLS
port, 443. If multiple members of this list specify different hosts,
they will be multiplexed on the same port according to the hostname
specified through the SNI TLS extension, if the ingress controller
fulfilling the ingress supports SNI.
items:
$ref: "#/definitions/io.k8s.api.networking.v1beta1.IngressTLS"
type: array
type: object
io.k8s.api.networking.v1beta1.IngressStatus:
description: IngressStatus describe the current state of the Ingress.
properties:
loadBalancer:
$ref: "#/definitions/io.k8s.api.core.v1.LoadBalancerStatus"
description: LoadBalancer contains the current status of the load-balancer.
type: object
io.k8s.api.networking.v1beta1.IngressTLS:
description:
IngressTLS describes the transport layer security associated with
an Ingress.
properties:
hosts:
description:
Hosts are a list of hosts included in the TLS certificate. The
values in this list must match the name/s used in the tlsSecret.
Defaults to the wildcard host setting for the loadbalancer controller
fulfilling this Ingress, if left unspecified.
items:
type: string
type: array
secretName:
description:
SecretName is the name of the secret used to terminate TLS traffic
on port 443. Field is left optional to allow TLS routing based on SNI
hostname alone. If the SNI host in a listener conflicts with the
"Host" header field used by an IngressRule, the SNI host is used for
termination and value of the Host header is used for routing.
type: string
type: object
io.k8s.api.node.v1.Overhead:
description:
Overhead structure represents the resource overhead associated with
running a pod.
properties:
podFixed:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
PodFixed represents the fixed resource overhead associated with
running a pod.
type: object
type: object
io.k8s.api.node.v1.RuntimeClass:
description:
RuntimeClass defines a class of container runtime supported in the
cluster. The RuntimeClass is used to determine which container runtime is
used to run all containers in a pod. RuntimeClasses are manually defined
by a user or cluster provisioner, and referenced in the PodSpec. The
Kubelet is responsible for resolving the RuntimeClassName reference before
running the pod. For more details, see
https://kubernetes.io/docs/concepts/containers/runtime-class/
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
handler:
description:
Handler specifies the underlying runtime and configuration that the
CRI implementation will use to handle pods of this class. The possible
values are specific to the node & CRI configuration. It is assumed
that all handlers are available on every node, and handlers of the
same name are equivalent on every node. For example, a handler called
"runc" might specify that the runc OCI runtime (using native Linux
containers) will be used to run the containers in a pod. The Handler
must be lowercase, conform to the DNS Label (RFC 1123) requirements,
and is immutable.
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
overhead:
$ref: "#/definitions/io.k8s.api.node.v1.Overhead"
description: >-
Overhead represents the resource overhead associated with running a
pod for a given RuntimeClass. For more details, see
https://kubernetes.io/docs/concepts/scheduling-eviction/pod-overhead/
This field is in beta starting v1.18 and is only honored by servers that enable the PodOverhead feature.
scheduling:
$ref: "#/definitions/io.k8s.api.node.v1.Scheduling"
description:
Scheduling holds the scheduling constraints to ensure that pods
running with this RuntimeClass are scheduled to nodes that support it.
If scheduling is nil, this RuntimeClass is assumed to be supported by
all nodes.
required:
- handler
type: object
x-kubernetes-group-version-kind:
- group: node.k8s.io
kind: RuntimeClass
version: v1
io.k8s.api.node.v1.RuntimeClassList:
description: RuntimeClassList is a list of RuntimeClass objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is a list of schema objects.
items:
$ref: "#/definitions/io.k8s.api.node.v1.RuntimeClass"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: node.k8s.io
kind: RuntimeClassList
version: v1
io.k8s.api.node.v1.Scheduling:
description: Scheduling specifies the scheduling constraints for nodes
supporting a RuntimeClass.
properties:
nodeSelector:
additionalProperties:
type: string
description:
nodeSelector lists labels that must be present on nodes that
support this RuntimeClass. Pods using this RuntimeClass can only be
scheduled to a node matched by this selector. The RuntimeClass
nodeSelector is merged with a pod's existing nodeSelector. Any
conflicts will cause the pod to be rejected in admission.
type: object
tolerations:
description:
tolerations are appended (excluding duplicates) to pods running
with this RuntimeClass during admission, effectively unioning the set
of nodes tolerated by the pod and the RuntimeClass.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Toleration"
type: array
x-kubernetes-list-type: atomic
type: object
io.k8s.api.node.v1alpha1.Overhead:
description:
Overhead structure represents the resource overhead associated with
running a pod.
properties:
podFixed:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
PodFixed represents the fixed resource overhead associated with
running a pod.
type: object
type: object
io.k8s.api.node.v1alpha1.RuntimeClass:
description:
RuntimeClass defines a class of container runtime supported in the
cluster. The RuntimeClass is used to determine which container runtime is
used to run all containers in a pod. RuntimeClasses are (currently)
manually defined by a user or cluster provisioner, and referenced in the
PodSpec. The Kubelet is responsible for resolving the RuntimeClassName
reference before running the pod. For more details, see
https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.node.v1alpha1.RuntimeClassSpec"
description: "Specification of the RuntimeClass More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#spec-and-status"
required:
- spec
type: object
x-kubernetes-group-version-kind:
- group: node.k8s.io
kind: RuntimeClass
version: v1alpha1
io.k8s.api.node.v1alpha1.RuntimeClassList:
description: RuntimeClassList is a list of RuntimeClass objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is a list of schema objects.
items:
$ref: "#/definitions/io.k8s.api.node.v1alpha1.RuntimeClass"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: node.k8s.io
kind: RuntimeClassList
version: v1alpha1
io.k8s.api.node.v1alpha1.RuntimeClassSpec:
description:
RuntimeClassSpec is a specification of a RuntimeClass. It contains
parameters that are required to describe the RuntimeClass to the Container
Runtime Interface (CRI) implementation, as well as any other components
that need to understand how the pod will be run. The RuntimeClassSpec is
immutable.
properties:
overhead:
$ref: "#/definitions/io.k8s.api.node.v1alpha1.Overhead"
description:
Overhead represents the resource overhead associated with running a
pod for a given RuntimeClass. For more details, see
https://git.k8s.io/enhancements/keps/sig-node/20190226-pod-overhead.md
This field is alpha-level as of Kubernetes v1.15, and is only honored
by servers that enable the PodOverhead feature.
runtimeHandler:
description:
RuntimeHandler specifies the underlying runtime and configuration
that the CRI implementation will use to handle pods of this class. The
possible values are specific to the node & CRI configuration. It is
assumed that all handlers are available on every node, and handlers of
the same name are equivalent on every node. For example, a handler
called "runc" might specify that the runc OCI runtime (using native
Linux containers) will be used to run the containers in a pod. The
RuntimeHandler must be lowercase, conform to the DNS Label (RFC 1123)
requirements, and is immutable.
type: string
scheduling:
$ref: "#/definitions/io.k8s.api.node.v1alpha1.Scheduling"
description:
Scheduling holds the scheduling constraints to ensure that pods
running with this RuntimeClass are scheduled to nodes that support it.
If scheduling is nil, this RuntimeClass is assumed to be supported by
all nodes.
required:
- runtimeHandler
type: object
io.k8s.api.node.v1alpha1.Scheduling:
description: Scheduling specifies the scheduling constraints for nodes
supporting a RuntimeClass.
properties:
nodeSelector:
additionalProperties:
type: string
description:
nodeSelector lists labels that must be present on nodes that
support this RuntimeClass. Pods using this RuntimeClass can only be
scheduled to a node matched by this selector. The RuntimeClass
nodeSelector is merged with a pod's existing nodeSelector. Any
conflicts will cause the pod to be rejected in admission.
type: object
tolerations:
description:
tolerations are appended (excluding duplicates) to pods running
with this RuntimeClass during admission, effectively unioning the set
of nodes tolerated by the pod and the RuntimeClass.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Toleration"
type: array
x-kubernetes-list-type: atomic
type: object
io.k8s.api.node.v1beta1.Overhead:
description:
Overhead structure represents the resource overhead associated with
running a pod.
properties:
podFixed:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
description:
PodFixed represents the fixed resource overhead associated with
running a pod.
type: object
type: object
io.k8s.api.node.v1beta1.RuntimeClass:
description:
RuntimeClass defines a class of container runtime supported in the
cluster. The RuntimeClass is used to determine which container runtime is
used to run all containers in a pod. RuntimeClasses are (currently)
manually defined by a user or cluster provisioner, and referenced in the
PodSpec. The Kubelet is responsible for resolving the RuntimeClassName
reference before running the pod. For more details, see
https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
handler:
description:
Handler specifies the underlying runtime and configuration that the
CRI implementation will use to handle pods of this class. The possible
values are specific to the node & CRI configuration. It is assumed
that all handlers are available on every node, and handlers of the
same name are equivalent on every node. For example, a handler called
"runc" might specify that the runc OCI runtime (using native Linux
containers) will be used to run the containers in a pod. The Handler
must be lowercase, conform to the DNS Label (RFC 1123) requirements,
and is immutable.
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
overhead:
$ref: "#/definitions/io.k8s.api.node.v1beta1.Overhead"
description:
Overhead represents the resource overhead associated with running a
pod for a given RuntimeClass. For more details, see
https://git.k8s.io/enhancements/keps/sig-node/20190226-pod-overhead.md
This field is alpha-level as of Kubernetes v1.15, and is only honored
by servers that enable the PodOverhead feature.
scheduling:
$ref: "#/definitions/io.k8s.api.node.v1beta1.Scheduling"
description:
Scheduling holds the scheduling constraints to ensure that pods
running with this RuntimeClass are scheduled to nodes that support it.
If scheduling is nil, this RuntimeClass is assumed to be supported by
all nodes.
required:
- handler
type: object
x-kubernetes-group-version-kind:
- group: node.k8s.io
kind: RuntimeClass
version: v1beta1
io.k8s.api.node.v1beta1.RuntimeClassList:
description: RuntimeClassList is a list of RuntimeClass objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is a list of schema objects.
items:
$ref: "#/definitions/io.k8s.api.node.v1beta1.RuntimeClass"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: node.k8s.io
kind: RuntimeClassList
version: v1beta1
io.k8s.api.node.v1beta1.Scheduling:
description: Scheduling specifies the scheduling constraints for nodes
supporting a RuntimeClass.
properties:
nodeSelector:
additionalProperties:
type: string
description:
nodeSelector lists labels that must be present on nodes that
support this RuntimeClass. Pods using this RuntimeClass can only be
scheduled to a node matched by this selector. The RuntimeClass
nodeSelector is merged with a pod's existing nodeSelector. Any
conflicts will cause the pod to be rejected in admission.
type: object
tolerations:
description:
tolerations are appended (excluding duplicates) to pods running
with this RuntimeClass during admission, effectively unioning the set
of nodes tolerated by the pod and the RuntimeClass.
items:
$ref: "#/definitions/io.k8s.api.core.v1.Toleration"
type: array
x-kubernetes-list-type: atomic
type: object
io.k8s.api.policy.v1beta1.AllowedCSIDriver:
description: AllowedCSIDriver represents a single inline CSI Driver that is
allowed to be used.
properties:
name:
description: Name is the registered name of the CSI driver
type: string
required:
- name
type: object
io.k8s.api.policy.v1beta1.AllowedFlexVolume:
description:
AllowedFlexVolume represents a single Flexvolume that is allowed to
be used.
properties:
driver:
description: driver is the name of the Flexvolume driver.
type: string
required:
- driver
type: object
io.k8s.api.policy.v1beta1.AllowedHostPath:
description: AllowedHostPath defines the host volume conditions that will be
enabled by a policy for pods to use. It requires the path prefix to be
defined.
properties:
pathPrefix:
description: >-
pathPrefix is the path prefix that the host volume must match. It does
not support `*`. Trailing slashes are trimmed when validating the path
prefix with a host path.
Examples: `/foo` would allow `/foo`, `/foo/` and `/foo/bar` `/foo` would not allow `/food` or `/etc/foo`
type: string
readOnly:
description:
when set to true, will allow host volumes matching the pathPrefix
only if all volume mounts are readOnly.
type: boolean
type: object
io.k8s.api.policy.v1beta1.Eviction:
description:
Eviction evicts a pod from its node subject to certain policies and
safety constraints. This is a subresource of Pod. A request to cause such
an eviction is created by POSTing to .../pods/<pod name>/evictions.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
deleteOptions:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
description: DeleteOptions may be provided
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: ObjectMeta describes the pod that is being evicted.
type: object
x-kubernetes-group-version-kind:
- group: policy
kind: Eviction
version: v1beta1
io.k8s.api.policy.v1beta1.FSGroupStrategyOptions:
description:
FSGroupStrategyOptions defines the strategy type and options used
to create the strategy.
properties:
ranges:
description:
ranges are the allowed ranges of fs groups. If you would like to
force a single fs group then supply a single range with the same start
and end. Required for MustRunAs.
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.IDRange"
type: array
rule:
description:
rule is the strategy that will dictate what FSGroup is used in the
SecurityContext.
type: string
type: object
io.k8s.api.policy.v1beta1.HostPortRange:
description:
HostPortRange defines a range of host ports that will be enabled by
a policy for pods to use. It requires both the start and end to be
defined.
properties:
max:
description: max is the end of the range, inclusive.
format: int32
type: integer
min:
description: min is the start of the range, inclusive.
format: int32
type: integer
required:
- min
- max
type: object
io.k8s.api.policy.v1beta1.IDRange:
description: IDRange provides a min/max of an allowed range of IDs.
properties:
max:
description: max is the end of the range, inclusive.
format: int64
type: integer
min:
description: min is the start of the range, inclusive.
format: int64
type: integer
required:
- min
- max
type: object
io.k8s.api.policy.v1beta1.PodDisruptionBudget:
description:
PodDisruptionBudget is an object to define the max disruption that
can be caused to a collection of pods
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
spec:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.PodDisruptionBudgetSpec"
description: Specification of the desired behavior of the PodDisruptionBudget.
status:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.PodDisruptionBudgetStatus"
description: Most recently observed status of the PodDisruptionBudget.
type: object
x-kubernetes-group-version-kind:
- group: policy
kind: PodDisruptionBudget
version: v1beta1
io.k8s.api.policy.v1beta1.PodDisruptionBudgetList:
description: PodDisruptionBudgetList is a collection of PodDisruptionBudgets.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.PodDisruptionBudget"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: policy
kind: PodDisruptionBudgetList
version: v1beta1
io.k8s.api.policy.v1beta1.PodDisruptionBudgetSpec:
description: PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.
properties:
maxUnavailable:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description:
An eviction is allowed if at most "maxUnavailable" pods selected by
"selector" are unavailable after the eviction, i.e. even in absence of
the evicted pod. For example, one can prevent all voluntary evictions
by specifying 0. This is a mutually exclusive setting with
"minAvailable".
minAvailable:
$ref: "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
description:
An eviction is allowed if at least "minAvailable" pods selected by
"selector" will still be available after the eviction, i.e. even in
the absence of the evicted pod. So for example you can prevent all
voluntary evictions by specifying "100%".
selector:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
description:
Label query over pods whose evictions are managed by the disruption
budget.
type: object
io.k8s.api.policy.v1beta1.PodDisruptionBudgetStatus:
description:
PodDisruptionBudgetStatus represents information about the status
of a PodDisruptionBudget. Status may trail the actual state of a system.
properties:
currentHealthy:
description: current number of healthy pods
format: int32
type: integer
desiredHealthy:
description: minimum desired number of healthy pods
format: int32
type: integer
disruptedPods:
additionalProperties:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
description:
DisruptedPods contains information about pods whose eviction was
processed by the API server eviction subresource handler but has not
yet been observed by the PodDisruptionBudget controller. A pod will be
in this map from the time when the API server processed the eviction
request to the time when the pod is seen by PDB controller as having
been marked for deletion (or after a timeout). The key in the map is
the name of the pod and the value is the time when the API server
processed the eviction request. If the deletion didn't occur and a pod
is still there it will be removed from the list automatically by
PodDisruptionBudget controller after some time. If everything goes
smooth this map should be empty for the most of the time. Large number
of entries in the map may indicate problems with pod deletions.
type: object
disruptionsAllowed:
description: Number of pod disruptions that are currently allowed.
format: int32
type: integer
expectedPods:
description: total number of pods counted by this disruption budget
format: int32
type: integer
observedGeneration:
description:
Most recent generation observed when updating this PDB status.
DisruptionsAllowed and other status information is valid only if
observedGeneration equals to PDB's object generation.
format: int64
type: integer
required:
- disruptionsAllowed
- currentHealthy
- desiredHealthy
- expectedPods
type: object
io.k8s.api.policy.v1beta1.PodSecurityPolicy:
description:
PodSecurityPolicy governs the ability to make requests that affect
the Security Context that will be applied to a pod and container.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: "Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
spec:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.PodSecurityPolicySpec"
description: spec defines the policy enforced.
type: object
x-kubernetes-group-version-kind:
- group: policy
kind: PodSecurityPolicy
version: v1beta1
io.k8s.api.policy.v1beta1.PodSecurityPolicyList:
description: PodSecurityPolicyList is a list of PodSecurityPolicy objects.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: items is a list of schema objects.
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.PodSecurityPolicy"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: "Standard list metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#metadata"
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: policy
kind: PodSecurityPolicyList
version: v1beta1
io.k8s.api.policy.v1beta1.PodSecurityPolicySpec:
description: PodSecurityPolicySpec defines the policy enforced.
properties:
allowPrivilegeEscalation:
description:
allowPrivilegeEscalation determines if a pod can request to allow
privilege escalation. If unspecified, defaults to true.
type: boolean
allowedCSIDrivers:
description:
AllowedCSIDrivers is an allowlist of inline CSI drivers that must
be explicitly set to be embedded within a pod spec. An empty value
indicates that any CSI driver can be used for inline ephemeral
volumes. This is a beta field, and is only honored if the API server
enables the CSIInlineVolume feature gate.
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.AllowedCSIDriver"
type: array
allowedCapabilities:
description:
allowedCapabilities is a list of capabilities that can be requested
to add to the container. Capabilities in this field may be added at
the pod author's discretion. You must not list a capability in both
allowedCapabilities and requiredDropCapabilities.
items:
type: string
type: array
allowedFlexVolumes:
description:
allowedFlexVolumes is an allowlist of Flexvolumes. Empty or nil
indicates that all Flexvolumes may be used. This parameter is
effective only when the usage of the Flexvolumes is allowed in the
"volumes" field.
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.AllowedFlexVolume"
type: array
allowedHostPaths:
description:
allowedHostPaths is an allowlist of host paths. Empty indicates
that all host paths may be used.
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.AllowedHostPath"
type: array
allowedProcMountTypes:
description:
AllowedProcMountTypes is an allowlist of allowed ProcMountTypes.
Empty or nil indicates that only the DefaultProcMountType may be used.
This requires the ProcMountType feature flag to be enabled.
items:
type: string
type: array
allowedUnsafeSysctls:
description: >-
allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls,
defaults to none. Each entry is either a plain sysctl name or ends in
"*" in which case it is considered as a prefix of allowed sysctls.
Single * means all unsafe sysctls are allowed. Kubelet has to
allowlist all allowed unsafe sysctls explicitly to avoid rejection.
Examples: e.g. "foo/*" allows "foo/bar", "foo/baz", etc. e.g. "foo.*" allows "foo.bar", "foo.baz", etc.
items:
type: string
type: array
defaultAddCapabilities:
description:
defaultAddCapabilities is the default set of capabilities that will
be added to the container unless the pod spec specifically drops the
capability. You may not list a capability in both
defaultAddCapabilities and requiredDropCapabilities. Capabilities
added here are implicitly allowed, and need not be included in the
allowedCapabilities list.
items:
type: string
type: array
defaultAllowPrivilegeEscalation:
description:
defaultAllowPrivilegeEscalation controls the default setting for
whether a process can gain more privileges than its parent process.
type: boolean
forbiddenSysctls:
description: >-
forbiddenSysctls is a list of explicitly forbidden sysctls, defaults
to none. Each entry is either a plain sysctl name or ends in "*" in
which case it is considered as a prefix of forbidden sysctls. Single *
means all sysctls are forbidden.
Examples: e.g. "foo/*" forbids "foo/bar", "foo/baz", etc. e.g. "foo.*" forbids "foo.bar", "foo.baz", etc.
items:
type: string
type: array
fsGroup:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.FSGroupStrategyOptions"
description:
fsGroup is the strategy that will dictate what fs group is used by
the SecurityContext.
hostIPC:
description:
hostIPC determines if the policy allows the use of HostIPC in the
pod spec.
type: boolean
hostNetwork:
description:
hostNetwork determines if the policy allows the use of HostNetwork
in the pod spec.
type: boolean
hostPID:
description:
hostPID determines if the policy allows the use of HostPID in the
pod spec.
type: boolean
hostPorts:
description: hostPorts determines which host port ranges are allowed to be exposed.
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.HostPortRange"
type: array
privileged:
description: privileged determines if a pod can request to be run as privileged.
type: boolean
readOnlyRootFilesystem:
description:
readOnlyRootFilesystem when set to true will force containers to
run with a read only root file system. If the container specifically
requests to run with a non-read only root file system the PSP should
deny the pod. If set to false the container may run with a read only
root file system if it wishes but it will not be forced to.
type: boolean
requiredDropCapabilities:
description:
requiredDropCapabilities are the capabilities that will be dropped
from the container. These are required to be dropped and cannot be
added.
items:
type: string
type: array
runAsGroup:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.RunAsGroupStrategyOptions"
description: RunAsGroup is the strategy that will dictate the allowable
RunAsGroup values that may be set. If this field is omitted, the pod's
RunAsGroup can take any value. This field requires the RunAsGroup
feature gate to be enabled.
runAsUser:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.RunAsUserStrategyOptions"
description:
runAsUser is the strategy that will dictate the allowable RunAsUser
values that may be set.
runtimeClass:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.RuntimeClassStrategyOptions"
description:
runtimeClass is the strategy that will dictate the allowable
RuntimeClasses for a pod. If this field is omitted, the pod's
runtimeClassName field is unrestricted. Enforcement of this field
depends on the RuntimeClass feature gate being enabled.
seLinux:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.SELinuxStrategyOptions"
description:
seLinux is the strategy that will dictate the allowable labels that
may be set.
supplementalGroups:
$ref:
"#/definitions/io.k8s.api.policy.v1beta1.SupplementalGroupsStrategyOption\
s"
description: supplementalGroups is the strategy that will dictate what
supplemental groups are used by the SecurityContext.
volumes:
description:
volumes is an allowlist of volume plugins. Empty indicates that no
volumes may be used. To allow all volumes you may use '*'.
items:
type: string
type: array
required:
- seLinux
- runAsUser
- supplementalGroups
- fsGroup
type: object
io.k8s.api.policy.v1beta1.RunAsGroupStrategyOptions:
description:
RunAsGroupStrategyOptions defines the strategy type and any options
used to create the strategy.
properties:
ranges:
description:
ranges are the allowed ranges of gids that may be used. If you
would like to force a single gid then supply a single range with the
same start and end. Required for MustRunAs.
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.IDRange"
type: array
rule:
description:
rule is the strategy that will dictate the allowable RunAsGroup
values that may be set.
type: string
required:
- rule
type: object
io.k8s.api.policy.v1beta1.RunAsUserStrategyOptions:
description:
RunAsUserStrategyOptions defines the strategy type and any options
used to create the strategy.
properties:
ranges:
description:
ranges are the allowed ranges of uids that may be used. If you
would like to force a single uid then supply a single range with the
same start and end. Required for MustRunAs.
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.IDRange"
type: array
rule:
description:
rule is the strategy that will dictate the allowable RunAsUser
values that may be set.
type: string
required:
- rule
type: object
io.k8s.api.policy.v1beta1.RuntimeClassStrategyOptions:
description:
RuntimeClassStrategyOptions define the strategy that will dictate
the allowable RuntimeClasses for a pod.
properties:
allowedRuntimeClassNames:
description:
allowedRuntimeClassNames is an allowlist of RuntimeClass names that
may be specified on a pod. A value of "*" means that any RuntimeClass
name is allowed, and must be the only item in the list. An empty list
requires the RuntimeClassName field to be unset.
items:
type: string
type: array
defaultRuntimeClassName:
description:
defaultRuntimeClassName is the default RuntimeClassName to set on
the pod. The default MUST be allowed by the allowedRuntimeClassNames
list. A value of nil does not mutate the Pod.
type: string
required:
- allowedRuntimeClassNames
type: object
io.k8s.api.policy.v1beta1.SELinuxStrategyOptions:
description:
SELinuxStrategyOptions defines the strategy type and any options
used to create the strategy.
properties:
rule:
description:
rule is the strategy that will dictate the allowable labels that
may be set.
type: string
seLinuxOptions:
$ref: "#/definitions/io.k8s.api.core.v1.SELinuxOptions"
description:
"seLinuxOptions required to run as; required for MustRunAs More
info:
https://kubernetes.io/docs/tasks/configure-pod-container/security-con\
text/"
required:
- rule
type: object
io.k8s.api.policy.v1beta1.SupplementalGroupsStrategyOptions:
description: SupplementalGroupsStrategyOptions defines the strategy type and
options used to create the strategy.
properties:
ranges:
description:
ranges are the allowed ranges of supplemental groups. If you would
like to force a single supplemental group then supply a single range
with the same start and end. Required for MustRunAs.
items:
$ref: "#/definitions/io.k8s.api.policy.v1beta1.IDRange"
type: array
rule:
description:
rule is the strategy that will dictate what supplemental groups is
used in the SecurityContext.
type: string
type: object
io.k8s.api.rbac.v1.AggregationRule:
description:
AggregationRule describes how to locate ClusterRoles to aggregate
into the ClusterRole
properties:
clusterRoleSelectors:
description:
ClusterRoleSelectors holds a list of selectors which will be used
to find ClusterRoles and create the rules. If any of the selectors
match, then the ClusterRole's permissions will be added
items:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
type: array
type: object
io.k8s.api.rbac.v1.ClusterRole:
description: ClusterRole is a cluster level, logical grouping of PolicyRules
that can be referenced as a unit by a RoleBinding or ClusterRoleBinding.
properties:
aggregationRule:
$ref: "#/definitions/io.k8s.api.rbac.v1.AggregationRule"
description:
AggregationRule is an optional field that describes how to build
the Rules for this ClusterRole. If AggregationRule is set, then the
Rules are controller managed and direct changes to Rules will be
stomped by the controller.
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: Standard object's metadata.
rules:
description: Rules holds all the PolicyRules for this ClusterRole
items:
$ref: "#/definitions/io.k8s.api.rbac.v1.PolicyRule"
type: array
type: object
x-kubernetes-group-version-kind:
- group: rbac.authorization.k8s.io
kind: ClusterRole
version: v1
io.k8s.api.rbac.v1.ClusterRoleBinding:
description: ClusterRoleBinding references a ClusterRole, but not contain
it. It can reference a ClusterRole in the global namespace, and adds who
information via Subject.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
description: Standard object's metadata.
roleRef:
$ref: "#/definitions/io.k8s.api.rbac.v1.RoleRef"
description:
RoleRef can only reference a ClusterRole in the global namespace.
If the RoleRef cannot be resolved, the Authorizer must return an
error.
subjects:
description: Subjects holds references to the objects the role applies to.
items:
$ref: "#/definitions/io.k8s.api.rbac.v1.Subject"
type: array
required:
- roleRef
type: object
x-kubernetes-group-version-kind:
- group: rbac.authorization.k8s.io
kind: ClusterRoleBinding
version: v1
io.k8s.api.rbac.v1.ClusterRoleBindingList:
description: ClusterRoleBindingList is a collection of ClusterRoleBindings
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation of
an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#resources"
type: string
items:
description: Items is a list of ClusterRoleBindings
items:
$ref: "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding"
type: array
kind:
description:
"Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-\
conventions.md#types-kinds"
type: string
metadata:
$ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
description: Standard object's metadata.
required:
- items
type: object
x-kubernetes-group-version-kind:
- group: rbac.authorization.k8s.io
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment