> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trainy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Konduktor Launch Task Yamls

> Schema and examples for your <b>konduktor launch</b> `task.yaml`

## Konduktor Launch Task Yaml

#### Schema

```
name: <string>                    # required

envs:                             # optional
  key: value
workdir: <string>                 # optional
num_nodes: <int>                  # optional; defaults to 1

resources:
  cpus: <int/float/string>        # required; unit is vCPUs
  memory: <int/string>            # required; unit is GiB
  image_id: <string>              # required
  accelerators: <string>          # optional
  labels:                           
    kueue.x-k8s.io/queue-name: <string>  # required
    maxRunDurationSeconds: <string>      # optional; defaults to 604800 (7 days)
  job_config:
    max_restarts: <int>           # optional; defaults to 0
    completions: <int>            # optional; defaults to num_nodes

file_mounts:                      # optional
  /remote/path: ./local/path

run: |                            # optional
  <shell command(s)>
```

#### Details

<a href="/launch-file-sync" target="_blank">`workdir`</a> (optional)

* local directory to sync into the remote workdir before running commands

`resources: cpus` (required)

* default and only unit is vCPU
* accepts int, float, or numeric string:
  * 2, 3.1, 0.2, "4.2", "0.5", etc (0.5 vCPU → 500m (millicores))
* default and only unit is vCPU
* unsupported formats:
  * "500m"
  * "4 vCPU"
  * anything containing letters

`resources: memory` (required)

* default and only unit is GiB (Gi)
* accepts int or numeric string:
  * 2, 16, etc (16 → 16Gi)
* unsupported formats:
  * 8.5
  * "8.5"
  * floats
  * "16G"
  * "0.5 T"
  * anything containing letters

<a href="https://kueue.sigs.k8s.io/docs/tasks/run/jobs/#1-define-the-job" target="_blank">`labels: kueue.x-k8s.io/queue-name`</a> (required)

* required Kueue queue label so the scheduler knows which queue to place the JobSet in

`labels: maxRunDurationSeconds` (optional)

* expected wall-clock runtime DWS uses for fairness/preemption; omitted values default to 604800s (7 days) which effectively behaves like unlimited on on-prem clusters

<a href="/launch-file-sync" target="_blank">`file_mounts`</a> (optional)

* mapping of local files/dirs to remote paths; Konduktor syncs them before launching your job
