Validation
All of the following are rejected at startup with a descriptive error and a non-zero exit code — chime never partially starts.
General
- Unknown fields anywhere in the TOML
tick_interval_secoutside1..=60- Unknown IANA timezone
- Webhook env var unset, empty, or not a valid
httpsURL - Two different
webhooknames that map to the same env var (e.g.team-aandteam_a) thread_idthat is empty, not all digits, zero or beyond 64 bits (or written as a TOML integer)- Neither reminders, status pages, watches nor rss feeds defined
poll_interval_secoutside60..=3600
Reminders
- Duplicate or empty reminder
name timenot inHH:MMform, or hour > 23 / minute > 59- Empty
days, or any unknown weekday string - Empty
day_of_month, or any value outside1..=31 - A reminder specifying neither or both of
days/day_of_month - Empty
message
Status pages
- Duplicate or empty status page
name - Status page
urloravatar_urlthat is nothttps, or has no host - Status page
kindthat is not one ofstatuspage/instatus/incidentio/datadog/custom customstatus page withoutmapping, ormappingon a page of any other kindmappingwithoutidortitle, with an unknown key, or with a pointer that does not start with/min_impactthat is not one ofnone/maintenance/minor/major/critical
Watches
- Duplicate or empty watch
name source.kindthat is notfirefox/chrome/json, or an unknown key insidesourcefirefox.channel/chrome.platform/chrome.channel/chrome.rolloutoutside their listed valueschromewatch withchannel = "extended"onlinux,android,webvieworios— Extended Stable exists only forwin,win64,macandmac_arm64, and the API rejects the restjsonwatch whoseurl/linkis not https, or whosepointerdoes not start with/
RSS feeds
- Duplicate or empty rss
name - rss
urloravatar_urlthat is nothttps, or has no host