Watch manifest reference
Manifests use apiVersion: ding.ing/v1alpha1 and kind: Watch or Destination.
Each document has a stable metadata.id and an optional metadata.name.
Unknown fields fail validation. The Go compiler owns validity.
Download the generated JSON Schema. Use it for
editor assistance with the same runtime version; it describes definitions, not
the control API. ding explain FILE --json shows normalized defaults, revision,
execution fingerprint, and permissions.
| Watch field | Purpose |
|---|---|
source |
http, command, or push, with source-specific connection/execution details |
source.jq, source.fields |
Bounded projection followed by selected scalar fields |
source.observedAtField |
Provider timestamp metadata; conditions still use accepted time |
condition |
Typed comparison, numeric expression, missingFor, changed, or new-event |
policy |
Trigger, consecutive/recovery counts, unknown handling, and interval/gap behavior |
groupBy, match |
Entity identity and input selection |
message |
Bounded message template |
destinations |
Destination references and selected event types |
limits |
Entity, sample, byte, output, and idle-retention budgets |
Typed operators are eq, ne, gt, gte, lt, lte, changed, and new-event.
Ordered comparisons require numeric values. missingFor and numeric are separate
condition forms. See the full watch contract
for limits and defaults, and evaluation semantics
for windows and unknown input.
Destination types are console, webhook, slack, and discord. Network
endpoints use urlRef: {env: NAME}; headers also use secret references. Retry policy
fields include maxAttempts, maxAge, and initialBackoff. Notification guide.