[defaults]
[defaults] sets fallback values for every [tasks.*] and [services.*]. A
task or service that sets the key itself wins.
[defaults]timeout = "30m"log_max_size = "50mb"keep_runs = 100healthy_after = "30s"failures = ["-missed"]
[tasks.heartbeat]cron = "*/5 * * * *"run = "/usr/local/bin/heartbeat" # uses every default above
[tasks.nightly-export]cron = "0 2 * * *"timeout = "4h" # overrides the defaultrun = "/usr/local/bin/export"Precedence
Section titled “Precedence”For each key, RunWisp uses the first of:
- the value on the
[tasks.*]/[services.*]table, - the value in
[defaults], - the built-in default.
An explicit 0 (or "0s") on a task counts as set: timeout = "0s" turns off a
[defaults] timeout.
Two groups merge instead of replacing:
env,env_file,secrets,secrets_filemerge with the task’s own; on the same key, the task wins. See Environment & secrets.failuresis applied first, then the task’s own+/-tokens change it. A bare list on the task replaces it.
Each key means exactly what it means on a task or service. Follow the link for type, default, and accepted values.
| Key | Applies to | Reference |
|---|---|---|
timeout |
both | timeout |
graceful_stop |
both | graceful_stop |
stop_signal |
both | stop_signal |
shell |
both | shell |
failures |
both | failures |
log_max_size |
both | log_max_size |
log_on_full |
both | log_on_full |
keep_runs |
both | keep_runs |
keep_for |
both | keep_for |
env |
both | env |
env_file |
both | env_file |
secrets |
both | secrets |
secrets_file |
both | secrets_file |
jitter |
tasks | jitter |
catch_up |
tasks | catch_up |
healthy_after |
services | healthy_after |
restart_attempts |
services | restart_attempts |
restart_delay |
services | restart_delay |
restart_backoff |
services | restart_backoff |
A tasks-only key in [defaults] is ignored by services, and the other way round.
What can’t go here
Section titled “What can’t go here”Everything else is per task or daemon-wide:
cron,on_overlap,max_concurrent,max_queued, theretry_*keys,params,hook_tokens, andnotify. For a notifier on every task, use[notify] global_notifiers.[daemon](includingshutdown_timeout),[storage], and[notify].