mirror of
https://github.com/hanzo-ml/kserve.git
synced 2026-10-30 20:53:49 +00:00
* Knative 1.0 upgrade Signed-off-by: Dan Sun <[email protected]> * Update knative test crds for 1.0 Signed-off-by: Dan Sun <[email protected]> * Set HTTPGet readiness probe for agent container Signed-off-by: Dan Sun <[email protected]> * Remove agent port hack Signed-off-by: Dan Sun <[email protected]> * Expose agent container port Signed-off-by: Dan Sun <[email protected]> * Use minScale/maxScale for compatibility as Knative 1.1 changed to min-scale/max-scale Signed-off-by: Dan Sun <[email protected]> * Update quick install script to use knative 1.0 Signed-off-by: Dan Sun <[email protected]> * Use kserve testing-worker image for go 1.17.3 Signed-off-by: Dan Sun <[email protected]>
1219 lines
78 KiB
YAML
1219 lines
78 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
labels:
|
|
duck.knative.dev/addressable: "true"
|
|
duck.knative.dev/podspecable: "true"
|
|
knative.dev/crd-install: "true"
|
|
serving.knative.dev/release: v1.0.0
|
|
name: services.serving.knative.dev
|
|
spec:
|
|
conversion:
|
|
strategy: None
|
|
group: serving.knative.dev
|
|
names:
|
|
categories:
|
|
- all
|
|
- knative
|
|
- serving
|
|
kind: Service
|
|
listKind: ServiceList
|
|
plural: services
|
|
shortNames:
|
|
- kservice
|
|
- ksvc
|
|
singular: service
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.url
|
|
name: URL
|
|
type: string
|
|
- jsonPath: .status.latestCreatedRevisionName
|
|
name: LatestCreated
|
|
type: string
|
|
- jsonPath: .status.latestReadyRevisionName
|
|
name: LatestReady
|
|
type: string
|
|
- jsonPath: .status.conditions[?(@.type=='Ready')].status
|
|
name: Ready
|
|
type: string
|
|
- jsonPath: .status.conditions[?(@.type=='Ready')].reason
|
|
name: Reason
|
|
type: string
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: "Service acts as a top-level container that manages a Route and
|
|
Configuration which implement a network service. Service exists to provide
|
|
a singular abstraction which can be access controlled, reasoned about, and
|
|
which encapsulates software lifecycle decisions such as rollout policy and
|
|
team resource ownership. Service acts only as an orchestrator of the underlying
|
|
Routes and Configurations (much as a kubernetes Deployment orchestrates
|
|
ReplicaSets), and its usage is optional but recommended. \n The Service's
|
|
controller will track the statuses of its owned Configuration and Route,
|
|
reflecting their statuses and conditions as its own. \n See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service"
|
|
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:
|
|
type: object
|
|
spec:
|
|
description: ServiceSpec represents the configuration for the Service
|
|
object. A Service's specification is the union of the specifications
|
|
for a Route and Configuration. The Service restricts what can be expressed
|
|
in these fields, e.g. the Route must reference the provided Configuration;
|
|
however, these limitations also enable friendlier defaulting, e.g. Route
|
|
never needs a Configuration name, and may be defaulted to the appropriate
|
|
"run latest" spec.
|
|
properties:
|
|
template:
|
|
description: Template holds the latest specification for the Revision
|
|
to be stamped out.
|
|
properties:
|
|
metadata:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
spec:
|
|
description: RevisionSpec holds the desired state of the Revision
|
|
(from the client).
|
|
properties:
|
|
automountServiceAccountToken:
|
|
description: AutomountServiceAccountToken indicates whether
|
|
a service account token should be automatically mounted.
|
|
type: boolean
|
|
containerConcurrency:
|
|
description: ContainerConcurrency specifies the maximum allowed
|
|
in-flight (concurrent) requests per container of the Revision. Defaults
|
|
to `0` which means concurrency to the application is not
|
|
limited, and the system decides the target concurrency for
|
|
the autoscaler.
|
|
format: int64
|
|
type: integer
|
|
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:
|
|
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-command-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-command-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:
|
|
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:
|
|
description: Source for the environment variable's
|
|
value. Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of 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/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in
|
|
the pod's namespace
|
|
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/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
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:
|
|
description: EnvFromSource represents the source of
|
|
a set of ConfigMaps
|
|
properties:
|
|
configMapRef:
|
|
description: The ConfigMap to select from
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap
|
|
must be defined
|
|
type: boolean
|
|
type: object
|
|
prefix:
|
|
description: An optional identifier to prepend
|
|
to each key in the ConfigMap. Must be a C_IDENTIFIER.
|
|
type: string
|
|
secretRef:
|
|
description: The Secret to select from
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret must
|
|
be defined
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
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
|
|
livenessProbe:
|
|
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#container-probes'
|
|
properties:
|
|
exec:
|
|
description: One and only one of the following should
|
|
be specified. Exec specifies the action to take.
|
|
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
|
|
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:
|
|
description: HTTPGet specifies the http request
|
|
to perform.
|
|
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:
|
|
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
|
|
type: array
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
scheme:
|
|
description: Scheme to use for connecting to
|
|
the host. Defaults to HTTP.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
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#container-probes'
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
description: How often (in seconds) to perform the
|
|
probe.
|
|
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:
|
|
description: 'TCPSocket specifies an action involving
|
|
a TCP port. TCP hooks not yet supported TODO:
|
|
implement a realistic TCP lifecycle hook'
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect
|
|
to, defaults to the pod IP.'
|
|
type: string
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
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#container-probes'
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
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:
|
|
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
|
|
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:
|
|
default: TCP
|
|
description: Protocol for port. Must be UDP, TCP,
|
|
or SCTP. Defaults to "TCP".
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
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#container-probes'
|
|
properties:
|
|
exec:
|
|
description: One and only one of the following should
|
|
be specified. Exec specifies the action to take.
|
|
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
|
|
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:
|
|
description: HTTPGet specifies the http request
|
|
to perform.
|
|
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:
|
|
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
|
|
type: array
|
|
path:
|
|
description: Path to access on the HTTP server.
|
|
type: string
|
|
scheme:
|
|
description: Scheme to use for connecting to
|
|
the host. Defaults to HTTP.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
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#container-probes'
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
description: How often (in seconds) to perform the
|
|
probe.
|
|
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:
|
|
description: 'TCPSocket specifies an action involving
|
|
a TCP port. TCP hooks not yet supported TODO:
|
|
implement a realistic TCP lifecycle hook'
|
|
properties:
|
|
host:
|
|
description: 'Optional: Host name to connect
|
|
to, defaults to the pod IP.'
|
|
type: string
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
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#container-probes'
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resources:
|
|
description: 'Compute Resources required by this container.
|
|
Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount
|
|
of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
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-resources-containers/'
|
|
type: object
|
|
type: object
|
|
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-context/'
|
|
properties:
|
|
capabilities:
|
|
description: The capabilities to add/drop when running
|
|
containers. Defaults to the default set of capabilities
|
|
granted by the container runtime.
|
|
properties:
|
|
drop:
|
|
description: Removed capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities
|
|
type
|
|
type: string
|
|
type: array
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
readOnlyRootFilesystem:
|
|
description: Whether this container has a read-only
|
|
root filesystem. Default is false.
|
|
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
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
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
|
|
volumeMounts:
|
|
description: Pod volumes to mount into the container's
|
|
filesystem. Cannot be updated.
|
|
items:
|
|
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
|
|
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
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
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
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: array
|
|
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
|
|
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-imagepullsecrets-on-a-pod'
|
|
items:
|
|
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/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
type: object
|
|
type: array
|
|
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-service-account/'
|
|
type: string
|
|
timeoutSeconds:
|
|
description: TimeoutSeconds is the maximum duration in seconds
|
|
that the request routing layer will wait for a request delivered
|
|
to a container to begin replying (send network traffic).
|
|
If unspecified, a system default will be provided.
|
|
format: int64
|
|
type: integer
|
|
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:
|
|
description: Volume represents a named volume in a pod that
|
|
may be accessed by any container in the pod.
|
|
properties:
|
|
configMap:
|
|
description: ConfigMap represents a configMap that should
|
|
populate this volume
|
|
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:
|
|
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
|
|
type: array
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
keys must be defined
|
|
type: boolean
|
|
type: object
|
|
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/names/#names'
|
|
type: string
|
|
projected:
|
|
description: Items for all in one resources secrets,
|
|
configmaps, and downward API
|
|
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:
|
|
description: Projection that may be projected
|
|
along with other supported volume types
|
|
properties:
|
|
configMap:
|
|
description: information about the configMap
|
|
data to project
|
|
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:
|
|
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
|
|
type: array
|
|
name:
|
|
description: 'Name of the referent. More
|
|
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap
|
|
or its keys must be defined
|
|
type: boolean
|
|
type: object
|
|
secret:
|
|
description: information about the secret
|
|
data to project
|
|
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:
|
|
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
|
|
type: array
|
|
name:
|
|
description: 'Name of the referent. More
|
|
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret
|
|
or its key must be defined
|
|
type: boolean
|
|
type: object
|
|
serviceAccountToken:
|
|
description: information about the serviceAccountToken
|
|
data to project
|
|
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
|
|
type: object
|
|
type: array
|
|
type: object
|
|
secret:
|
|
description: 'Secret represents a secret that should
|
|
populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
|
|
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:
|
|
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
|
|
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
|
|
required:
|
|
- name
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: array
|
|
required:
|
|
- containers
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: object
|
|
traffic:
|
|
description: Traffic specifies how to distribute traffic over a collection
|
|
of revisions and configurations.
|
|
items:
|
|
description: TrafficTarget holds a single entry of the routing table
|
|
for a Route.
|
|
properties:
|
|
configurationName:
|
|
description: ConfigurationName of a configuration to whose latest
|
|
revision we will send this portion of traffic. When the "status.latestReadyRevisionName"
|
|
of the referenced configuration changes, we will automatically
|
|
migrate traffic from the prior "latest ready" revision to
|
|
the new one. This field is never set in Route's status, only
|
|
its spec. This is mutually exclusive with RevisionName.
|
|
type: string
|
|
latestRevision:
|
|
description: LatestRevision may be optionally provided to indicate
|
|
that the latest ready Revision of the Configuration should
|
|
be used for this traffic target. When provided LatestRevision
|
|
must be true if RevisionName is empty; it must be false when
|
|
RevisionName is non-empty.
|
|
type: boolean
|
|
percent:
|
|
description: 'Percent indicates that percentage based routing
|
|
should be used and the value indicates the percent of traffic
|
|
that is be routed to this Revision or Configuration. `0` (zero)
|
|
mean no traffic, `100` means all traffic. When percentage
|
|
based routing is being used the follow rules apply: - the
|
|
sum of all percent values must equal 100 - when not specified,
|
|
the implied value for `percent` is zero for that particular
|
|
Revision or Configuration'
|
|
format: int64
|
|
type: integer
|
|
revisionName:
|
|
description: RevisionName of a specific revision to which to
|
|
send this portion of traffic. This is mutually exclusive
|
|
with ConfigurationName.
|
|
type: string
|
|
tag:
|
|
description: Tag is optionally used to expose a dedicated url
|
|
for referencing this target exclusively.
|
|
type: string
|
|
url:
|
|
description: URL displays the URL for accessing named traffic
|
|
targets. URL is displayed in status, and is disallowed on
|
|
spec. URL must contain a scheme (e.g. http://) and a hostname,
|
|
but may not contain anything else (e.g. basic auth, url path,
|
|
etc.)
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: ServiceStatus represents the Status stanza of the Service
|
|
resource.
|
|
properties:
|
|
address:
|
|
description: Address holds the information needed for a Route to be
|
|
the target of an event.
|
|
properties:
|
|
url:
|
|
type: string
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations is additional Status fields for the Resource
|
|
to save some additional State as well as convey more information
|
|
to the user. This is roughly akin to Annotations on any k8s resource,
|
|
just the reconciler conveying richer information outwards.
|
|
type: object
|
|
conditions:
|
|
description: Conditions the latest available observations of a resource's
|
|
current state.
|
|
items:
|
|
description: 'Condition defines a readiness condition for a Knative
|
|
resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
|
|
properties:
|
|
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
|
|
severity:
|
|
description: Severity with which to treat failures of this type
|
|
of condition. When this is not specified, it defaults to Error.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False, Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of condition.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
latestCreatedRevisionName:
|
|
description: LatestCreatedRevisionName is the last revision that was
|
|
created from this Configuration. It might not be ready yet, for
|
|
that use LatestReadyRevisionName.
|
|
type: string
|
|
latestReadyRevisionName:
|
|
description: LatestReadyRevisionName holds the name of the latest
|
|
Revision stamped out from this Configuration that has had its "Ready"
|
|
condition become "True".
|
|
type: string
|
|
observedGeneration:
|
|
description: ObservedGeneration is the 'Generation' of the Service
|
|
that was last processed by the controller.
|
|
format: int64
|
|
type: integer
|
|
traffic:
|
|
description: Traffic holds the configured traffic distribution. These
|
|
entries will always contain RevisionName references. When ConfigurationName
|
|
appears in the spec, this will hold the LatestReadyRevisionName
|
|
that we last observed.
|
|
items:
|
|
description: TrafficTarget holds a single entry of the routing table
|
|
for a Route.
|
|
properties:
|
|
configurationName:
|
|
description: ConfigurationName of a configuration to whose latest
|
|
revision we will send this portion of traffic. When the "status.latestReadyRevisionName"
|
|
of the referenced configuration changes, we will automatically
|
|
migrate traffic from the prior "latest ready" revision to
|
|
the new one. This field is never set in Route's status, only
|
|
its spec. This is mutually exclusive with RevisionName.
|
|
type: string
|
|
latestRevision:
|
|
description: LatestRevision may be optionally provided to indicate
|
|
that the latest ready Revision of the Configuration should
|
|
be used for this traffic target. When provided LatestRevision
|
|
must be true if RevisionName is empty; it must be false when
|
|
RevisionName is non-empty.
|
|
type: boolean
|
|
percent:
|
|
description: 'Percent indicates that percentage based routing
|
|
should be used and the value indicates the percent of traffic
|
|
that is be routed to this Revision or Configuration. `0` (zero)
|
|
mean no traffic, `100` means all traffic. When percentage
|
|
based routing is being used the follow rules apply: - the
|
|
sum of all percent values must equal 100 - when not specified,
|
|
the implied value for `percent` is zero for that particular
|
|
Revision or Configuration'
|
|
format: int64
|
|
type: integer
|
|
revisionName:
|
|
description: RevisionName of a specific revision to which to
|
|
send this portion of traffic. This is mutually exclusive
|
|
with ConfigurationName.
|
|
type: string
|
|
tag:
|
|
description: Tag is optionally used to expose a dedicated url
|
|
for referencing this target exclusively.
|
|
type: string
|
|
url:
|
|
description: URL displays the URL for accessing named traffic
|
|
targets. URL is displayed in status, and is disallowed on
|
|
spec. URL must contain a scheme (e.g. http://) and a hostname,
|
|
but may not contain anything else (e.g. basic auth, url path,
|
|
etc.)
|
|
type: string
|
|
type: object
|
|
type: array
|
|
url:
|
|
description: URL holds the url that will distribute traffic over the
|
|
provided traffic targets. It generally has the form http[s]://{route-name}.{route-namespace}.{cluster-level-suffix}
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: { } |