В IOBackup клиенты (Panel Lite/CLI) должны опираться на
error.code, а не на
message.
code стабилен (это контракт).message можно менять (это текст для человека).details — structured JSON и проходит
redaction перед тем, как уйти в API/webhook/export.JOB_*
VALIDATION_*
PROVIDER_*
SOURCE_*
DESTINATION_*
MANIFEST_*
ARTIFACT_*
RETENTION_*
VERIFY_*
HOOK_*
ENCRYPTION_*
STORAGE_*
SECURITY_*
TIMEOUT_*
CANCELLED_*
CONCURRENCY_*
CAPABILITY_*
CONFIG_*
AGENT_*
AUDIT_*
EXPORT_*
WEBHOOK_*
METADATA_*
FEATURE_UNSUPPORTED
METADATA_COMPACT_REQUIRES_OFFLINE
v0.50.8+, model + docs)These appear in payloads, future structured events, or command
error_code fields (not all are distinct HTTP
error.code values today):
DISK_PRESSURE_LOW_SPACE, SPOOL_OVERFLOW,
SPOOL_WRITE_FAILEDCONFIG_SYNC_FAILED,
CONFIG_APPLY_FAILEDSERVER_SYNC_FAILED,
SERVER_BACKPRESSURECOMMAND_UNSUPPORTED, COMMAND_EXPIRED,
COMMAND_DUPLICATE, COMMAND_LEASE_LOSTAGENT_DISABLED_BY_SERVERCAPABILITIES_REFRESH_FAILED,
FACTS_REFRESH_FAILEDAudit event type strings (future emitters):
server.sync.failed, server.sync.backpressure,
config.received, config.applied,
config.rejected, command.received,
command.claimed, command.completed,
command.failed, command.duplicate,
enrollment.state_changed,
agent.disabled_by_server, facts.refreshed,
capabilities.refreshed — see
internal/controlplane/audit_events.go and
docs/features/central-agent/central-agent-foundation.md.
iobackupctl, v0.52+)These are Unix exit statuses, not the same as HTTP
error.code strings:
0 — command succeeded.1 — agent/API/network/filesystem
failure.2 — invalid global CLI flags
(unsupported --output, or --output text
outside schedules explain).See docs/reference/cli-standards.md.
HOOKS_UNSUPPORTED — в job есть hooks, а
features.hooks=false в конфиге агента.ENCRYPTION_UNSUPPORTED — запрошено шифрование
(backup.encryption.enabled или
spec.policies.encryption.required), а
features.encryption=false.Примеры:
METADATA_DB_NOT_FOUND,
METADATA_DB_OPEN_FAILED,
METADATA_SCHEMA_MISSING,
METADATA_BACKUP_FAILED,
METADATA_EXPORT_FAILEDMETADATA_COMPACT_REQUIRES_OFFLINE —
iobackupctl metadata compact (ещё не реализовано)FEATURE_UNSUPPORTED —
iobackupctl metadata rebuild до появления реализации{
"error": {
"code": "CONCURRENCY_LOCKED",
"message": "job is already running or locked",
"details": {
"lock_key": "***REDACTED***",
"owner_run_id": "run_01J..."
}
}
}