Модель iobackup основана на capability-based provider
интерфейсах и явных registry.
v0.55.0)docs/providers/provider-readiness-1.0.mddocs/providers/provider-smoke-coverage.mdСписок зарегистрированных на агенте source/destination провайдеров с
maturity, capability-тегами и полями deprecation доступен в read-only
виде через GET /api/v1/capabilities (и в
CLI: iobackupctl agent capabilities,
iobackupctl providers list). Это не deep-probe и не
заменяет POST /api/v1/jobs/validate?deep=1. Подробнее:
docs/reference/capabilities.md.
0.38.x (стандарты и harness)docs/reference/api-standards.md.docs/reference/cli-standards.md.Validate
для встроенных source/destination — пакет
internal/testutil/providerharness
(go test ./internal/testutil/providerharness/...); детали
покрытия —
docs/providers/provider-validation-matrix.md
и
docs/providers/provider-maturity.md.metadata.job_id) и честный статус
полного parity —
docs/reference/job-schema-consistency-matrix.md,
docs/internal/reports/stabilization-deferred-after-0.33.md.В каталоге API/CLI у каждого провайдера есть
maturity, типичные значения:
stable — сценарий считается основным
для production при соблюдении документации.beta — рабочий, но возможны
ограничения или изменения контракта.experimental — для проб; поведение
может меняться.deprecated /
disabled — не использовать в новых job без
миграции (см. deprecation_message,
remove_after в JSON capabilities).Примеры строк capability (не исчерпывающий список;
точный набор смотрите в ответе capabilities):
source.stream, source.probedestination.stream_put, destination.get,
destination.delete, destination.list,
destination.probe, destination.multipart,
destination.object_lockСвязанные endpoint’ы:
GET /api/v1/capabilities,
GET /api/v1/providers/health,
GET /api/v1/agent/facts. Матрица зрелости
компонентов и провайдеров —
docs/internal/roadmap/status-matrix.md.
Матрица автоматизированного покрытия валидации/смоков —
docs/providers/provider-validation-matrix.md;
снимок editorial maturity —
docs/providers/provider-maturity.md.
OperationRegistrySourceRegistryDestinationRegistryPolicyRegistryNotificationRegistrySource:
filesystem (документация)postgresmysqlclickhouseopenldapvaultdocker_composeDestination:
local (документация)s3 (документация)ssh (документация)Для provider-ов, завязанных на внешние утилиты, поддерживается запуск через docker:
postgres source (pg_dump):
source.config.dump.runner.mode = dockermysql source (mysqldump):
source.config.dump.runner.mode = dockers3 destination (aws cli upload):
destination.config.upload.runner.mode = dockerМожно указать свои образы и docker аргументы:
runner.docker.imagerunner.docker.network (для postgres/mysql, по умолчанию
host)runner.docker.extra_argsДля s3 destination можно задавать endpoint/region через
env:
endpoint_envregion_envЭто удобно для S3-compatible провайдеров (Timeweb, MinIO, Ceph RGW и т.д.) и разных окружений без редактирования YAML.
Policy:
retentionNotification:
webhook (документация)Source:
Destination:
Примеры неисполняемых зарезервированных сценариев
(incremental source, encryption/hooks в будущем):
examples/future/ — не подставляйте в prod pipeline без
валидации.
См. также capabilities.md (HTTP/CLI inventory, feature gates, health).