Webhooks и уведомления

В v1 webhooks поддерживаются на двух уровнях:

Поддерживаемые события

Job-level:

Task-level:

Аутентификация webhook

Семантику *_vault см. в job-format-v1.md (KV v2 на Vault агента).

Retry policy

Поддерживаются:

Управление retry по типам ошибок:

Гарантии по backup-статусу

Ошибка webhook не должна менять результат backup run/task.

Delivery статус и попытки сохраняются в metadata store (notification_events), что дает полный аудит доставки.

Payload policy (0.17-fix.50)

В webhook конфигурации можно указать policy:

Независимо от этих флагов, payload проходит через redaction layer: секреты и secret-like поля маскируются, а пути/object keys по умолчанию не включаются.

Семантика флагов:

Пример минимального DTO (после 0.17-fix.50; набор полей может расширяться):

{
  "event": "task.finished",
  "job_uid": "job_01J…",
  "job_id": "mysql-prod",
  "run_id": "run_01J…",
  "task_id": "mysql-main",
  "status": "success",
  "warnings_count": 0,
  "last_warning_code": null,
  "request_id": "req_01J…",
  "correlation_id": "corr_01J…"
}

Примеры machine-readable предупреждений/кодов, которые могут появляться в потоке событий или логах доставки (не исчерпывающий список): WEBHOOK_DELIVERY_FAILED, RETENTION_PARTIAL_FAILURE — детали в docs/reference/error-codes.md и notification_events.