BundleJobSpec
Field |
Type |
Repeated |
Description |
job_name |
Unique within the bundle. |
||
requirements |
|||
co_locate_with |
✅ |
jobNames in the same replica that MUST land on the same node. |
|
separate_from |
✅ |
jobNames in the same replica that MUST land on different nodes. |
|
job |
Full job-spec template. At Bundle expansion time Manager derives
a per-replica Job by stamping in jobId / state / currentHash /
bundleId+replicaIndex+jobName tags; everything else (services,
writeFiles, norskMediaVersion, etc.) flows through verbatim.
The template’s own |
||
start_mode |
"auto" (default) — placement runs at bundle creation. "manual" — derived StoredJob entry exists but stays dormant until StartBundleJob activates it. See §10.2 of the design doc. Empty string is treated as "auto" for backward compatibility. |
||
exclusive |
Exclusive node allocation: this job only places onto a node with no other jobs, and no other job ever places onto its node. Jobs of the same replica named in co_locate_with are exempt from each other — an exclusive co-located group shares one node that nothing else may touch. Enforced by AutoManager placement; the daemon stores/echoes. |
||
single_use |
Single-use node: when this job (and any co-located siblings) ends,
AutoManager terminates the node immediately instead of letting it
linger for reuse — protection against one event’s data leaking onto
a later event’s runtime. Requires |
||
backup_parameter_overrides |
✅ |
Parameter values that differ on the backup replica. At Bundle expansion time the primary (replicaIndex 0) gets the template’s product_template_parameters verbatim; backup replicas (index >= 1) get this map merged over them (an override here wins). Ignored when the bundle has no resilience_policy (no backup is expanded). |