Schedule Specification

This feature is only supported in Crafting Enterprise Edition.

For self-hosted Crafting deployments, workloads with special resource requirements (such as GPU, high CPU, or specific storage performance) can be scheduled on a specific Node Pool using a Schedule Specification.

Definition

Add a schedule_spec to any workload definition (workspaces, dependencies, or containers):

workspaces:
- name: dev
  schedule_spec:
    selector:
      name: dev-large
    resource_requests:
    - resource_type: memory
      request: 4Gi
    storage:
      storage_class: premium
      request_size_gb: 40
dependencies:
- name: db
  service_type: mysql
  schedule_spec:
    selector:
      name: deps-medium
containers:
- name: proxy
  image: nginx
  schedule_spec:
    selector:
      name: small
- name: inference
  image: inference
  schedule_spec:
    selector:
      name: gpu-small
    resource_requests:
    - resource_type: nvidia.com/gpu
      request: '1'
      limit: '1'

Field Reference

selector.name: The selector name that must match a node pool. See Node Pool for how selector names are configured.

resource_requests: Additional resource requests for the workload.

Resource Type Description
memory Minimum reserved memory. The request value (e.g. 4Gi) is the minimum amount allocated when the workload starts.
nvidia.com/gpu Number of GPUs (or GPU slices if time-sharing is enabled). Both request and limit should be the same value.

storage: Requirements for persistent storage (the root filesystem).

Field Description
storage_class The Kubernetes StorageClass name in the Crafting cluster used to create the Persistent Volume.
request_size_gb Initial size of the Persistent Volume in gigabytes.
limit_size_gb Maximum size the Persistent Volume can automatically expand to. If omitted, the system-level limit applies.

Notes

See Also