The agent exposes read-only inventory endpoints for
operators, automation, and future central control planes. They must not
perform expensive network probes; deep checks stay on
POST /api/v1/jobs/validate?deep=1. Каталог провайдеров
(типы, maturity, теги) см. также providers.md.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/v1/capabilities |
Agent identity, build version, feature gates,
registered providers (maturity, capability tags, requires,
deprecation fields), optional provider_health cache,
management / sync placeholders, server
time. |
| GET | /api/v1/agent/facts |
Host OS/arch/kernel, timezone, redacted paths, tool discovery (short local probes), process uptime when available. |
| GET | /api/v1/health |
Aggregated status (ok |
degraded | error), live,
ready, per-subsystem checks,
degraded_reasons, agent + version, time. |
| GET | /api/v1/live |
Minimal liveness ({"live":true}). |
| GET | /api/v1/ready |
Readiness; 503 when the agent is not ready
({"ready":false}). |
| GET | /api/v1/providers/health |
Subset: provider_health + time from the
same cache as capabilities. |
Responses use the same path redaction rules as other public JSON (basenames by default).
live — процесс агента отвечает
(минимальная проверка).ready — агент принимает рабочую
нагрузку (например metadata DB доступна); иначе 503 на
/ready.status — ok если все
критичные checks зелёные; degraded если
есть нефатальные проблемы (см. degraded_reasons);
error при критическом сбое
подсистемы.management / sync в JSON
capabilities — placeholders для будущего central
management; не отражают активный control-plane в single-agent
сборке.agent config features)All gates default to false. When a submitted job
uses a capability that is disabled, validation returns a
machine-readable code such as HOOKS_UNSUPPORTED or
ENCRYPTION_UNSUPPORTED (see
internal/featuregates).
Reserved source filesystem_incremental remains rejected
at job validation (SOURCE_UNSUPPORTED) until a future
release implements it; the filesystem_incremental feature
flag is included in capabilities for forward compatibility.
Each registered source/destination appears under
providers.sources or providers.destinations
with:
type, kind, status,
maturitycapabilities — string tags derived from provider
structs (e.g. stream/list semantics)requires — external tools or docker hints where
applicabledeprecated, deprecation_message,
remove_after, feature_gate when set in the
static catalogiobackupctl agent capabilities — full capabilities
JSON.iobackupctl agent facts — facts JSON.iobackupctl health — extended health JSON.iobackupctl providers list --kind source|destination —
filters the capabilities provider lists (distinct from
iobackupctl provider list, which calls the older provider
API surface).The overview block Health · capabilities · agent facts summarizes the three GET endpoints after each refresh.
Route list and response shapes are mirrored in
scripts/gen-openapi.py →
internal/api/openapi.json
(GET /api/openapi.json).
examples/*.yaml.examples/future/README.md.