YAML Schema Reference
YAML Schema reference for serving
Revision YAML Field Types
Message
Write a message for the Serving Revision. We recommend writing an identical message for each revision to distinguish them.
message
str
Requried
Description of the revision.
Launch_immediately
Determines whether the revision will be deployed immediately.
launch_immediately
boolean
Requried
True if revision is launch immediately.
Image
The name of the docker image that will be used for inference. You can also use a custom docker image.
image
string
Requried
Docker image url.
Resources
Write down the compute resources you want to use for Serving. You can specify the resources you want to use in the Cluster settings.
cluster
string
Optional
The cluster to be used for the run. (default: VESSL-managed cluster)
name
string
Optional
The resource spec name that specified in VESSL. If the name is not specified, we will offer the best option for you based on cpu, memory, and accelerators.
cpu
string
Optional
The number of cpu cores.
memory
string
Optional
The memory size in GB.
accelerators
string
Optional
The type and quanity of the GPU to be used for the run.
spot
boolean
Optional
Whether to use spot instances for the run or not.
💡 You can list available clusters or resource specs with the CLI command: `vessl cluster list` or `vessl resource list`.
Volumes
Write the datasets and volumes mounted in the Revision container when the Revision is deployed.
git://
string
Optional
Mount a git repository into your container. The repository will be cloned into the specified mount path when container starts.
vessl-dataset://
string
Optional
Mount a dataset stored in VESSL. Replace {organizationName} with the name of your organization and {datasetName} with the name of the dataset.
s3://
string
Optional
Mount an AWS S3 bucket into your container. Replace {bucketName} with the name of your S3 bucket and {path} with the path to te file or folder you want to mount.
local://
string
Optional
Mount a file or directory from the machine where you are running the command. This can be useful for using configuration files or other data that is not in your Docker image.
hostpath://
string
Optional
Mount a file or directory from the host node’s filesystem into your container. Replace {path} with the path to the file or folder you want to mount.
nfs://
string
Optional
Mount a Network File System(NFS) into your container. Replace {ip} with the IP address of your NFS server and {path} with the path to the file or folder you want to mount.
cifs://
string
Optional
Mount a Command Internet File System(CIFS) into your contianer. Replace {ip} with the IP address of your NFS server and {path} with the path to the file or folder you want to mount.
You can also add an artifact flag to indicate whether the directory /output
should be treated as an output artifact. Typically, volumes store model checkpoints or key metrics.
Run
Write down what commands you want to run on the service container when the Revision is deployed.
workdir
string
Optional
The working directory for the command.
command
string
Required
The command to be run.
Env
Write down the environment variables that will be set in the Revision Service container.
env
map
Optional
Key-value pairs for environment variables in the run container.
Ports
Write down the ports and protocols that the Revision Service container should open.
name
string
Required
The name for the opening port.
type
string
Required
The protocol the port will use.
port
int
Required
The number of the port.
Autoscaling
Sets the value for how the Revision Pod will autoscale.
min
string
Required
Minimum number of Pods to autoscale.
max
string
Required
Maximum number of Pods to autoscale.
metric
int
Required
Determine what conditions you want to autoscale under. You can select cpu, gpu, memory, and custom
target
int
Required
A metric threshold percentage. If the metric is above the target, then the Autoscaler automatically scale-out.
Simple YAML example for revision
Gateway YAML Field Types
Enabled
enabled
boolean
Required
Whether gateway is enabled or not.
Targets
number
string
Required
The revision number that the Gateway will use for routing.
port
string
Required
The port number that the gateway will use for routing.
weight
int
Required
The weight to determine how much traffic should be distributed.
Sample Gateway YAML Schema
Serving example with YAML
MNIST model mount example
Last updated