Краткая классификация возможностей в текущем релизе
как ориентир для операторов и разработчиков. Статусы оценочные; детали —
в коде провайдеров и runbook.
Категория
Смысл
Stable
Активно используется, контракт и поведение ближе всего к «production
default».
Beta
Рабочий сценарий, но есть известные точки внимания (ошибки сети,
краевые режимы, документация).
Experimental
Допустимо для dev/stage; контракт и edge cases могут
уточняться.
Planned
В roadmap, в продукте по сути нет / только подготовка.
Deprecated
Не используется; зарезервировано на будущее.
out_of_scope
Явно вне текущего single-agent релиза (central server, scheduler,
restore orchestration, verify-worker, packaging) — см.
docs/internal/roadmap/roadmap.md §2–3.
Foundation
0.17-fix.10–0.17-fix.70 (кратко)
Трек
Статус
Примечание
0.17-fix.10
implemented / partial
Identity + correlation: да; first-class
metadata.namespace в YAML: нет
(labels).
Следующие пункты намеренно не закрыты или закрыты
частично; детали — в коде и
docs/internal/roadmap/roadmap.md.
Тема
Статус
Per-type metadata_retention
enforcement
Модель и defaults в конфиге + отражение в health API; нет
отдельного worker по per-type дням (fallback остаётся на legacy
IOBACKUP_DB_RETENTION_DAYS / существующий cleanup).
Retention delete safety / orphan guards
(~0.18.4)
См. docs/features/retention/retention.md: dry-run по
умолчанию, запрет удаления последнего успешного backup без явного флага,
orphan deletion guard, S3/SSH lifecycle edge cases —
planned, не полагайтесь как на текущие гарантии.
iobackupctl --output table
Режим table пока печатает JSON-подобный
вывод; полноценные таблицы — в будущей стандартизации CLI.
error.code в Panel Lite для всех
сценариев
Сейчас UI опирается на поля run/task и текст ошибок; полный
вывод machine-readable code для случаев вне конкретного run —
позже, когда API стабилизирует обогащённые error envelopes.
Job-level webhook +
include_manifest
Для scope task при include_manifest=true в
payload добавляется объект манифеста по backup_id. Для
job-level webhooks полный manifest по-прежнему не
прикрепляется (неоднозначно, какой backup выбрать).
JSON Schema CI
schemas/job.schema.json — skeleton до
0.18.1; приоритет у Go-валидации.
Support bundle архив
Политики export_policy есть; сборщик bundle —
planned
(docs/operator/support-bundle.md).
Hooks / client-side encryption / restore /
central
out_of_scope до соответствующих roadmap-версий; см.
examples/future/*.yaml только как контрактные
заготовки.
Stable
Компонент
Примечание
filesystem source
Каталоги на хосте агента, tar/gzip stream.
local destination
Запись артефакта в локальный путь.
Метаданные job/run/task/artifact в bbolt
История и API list/get; GET artifacts отдаёт
manifest JSON с path policy по agent
ExportPolicy.IncludePaths (basename по
умолчанию, full при true).
Sidecar manifest + checksum в metadata
storage.BackupManifest, verify по запросу.
Retention (metadata-driven)
Удаление по политике + audit events.
Webhook notifications
Job/task события, retry; payload DTO (без
executed_job_snapshot / без manifest при
policy=false), затем redact.RedactAny.
Capabilities / facts / health readiness
(0.17-fix.70)
GET /api/v1/capabilities,
GET /api/v1/agent/facts, расширенный
GET /api/v1/health, GET /api/v1/live,
GET /api/v1/ready; feature gates в конфиге агента;
placeholders management / sync в JSON.
Prometheus /metrics
Метрики API и сценариев (см.
docs/features/observability/prometheus.md).
Pre-flight POST /api/v1/jobs/validate
Статическая проверка + optional deep probe.
Секреты *_env / *_path /
*_vault + overlay
См. docs/reference/job-format-v1.md.
Run statuses partial_success /
interrupted
Foundation для optional tasks и startup recovery (0.17-fix.30).
OpenAPI агента: GET /api/openapi.json
(покрывает маршруты internal/api/router.go; поддерживать
командой python3 scripts/gen-openapi.py). Ошибки API:
{"error":{"code","message","details?"}}.