examples/skills/ov-resources/docs/ovpack.md
OVPack is a .ovpack archive format for backing up and migrating OpenViking resource trees. Requires ROOT or ADMIN permissions.
ov export)Packages resources under a URI into a .ovpack file.
# Export a resource tree
ov export viking://resources/my-project/ ./exports/my-project.ovpack
# Include dense vector snapshot
ov export viking://resources/my-project/ ./exports/my-project.ovpack --include-vectors
The ZIP stores user content under <root>/files/ and metadata under <root>/_ovpack/:
manifest.json — entry list with path, size, sha256, content_sha256index_records.jsonl — portable index scalar fieldsdense.f32 — pure-dense float32 vector snapshot (when --include-vectors)Hybrid index types reject vector snapshot export.
ov import)Restores a .ovpack file to a target location.
# Basic import
ov import ./exports/my-project.ovpack viking://resources/imported/
# Explicit conflict policy
ov import ./exports/my-project.ovpack viking://resources/imported/ --on-conflict overwrite
# Require compatible dense vector snapshot
ov import ./exports/my-project.ovpack viking://resources/imported/ --vector-mode require
Conflict policies: fail (default), overwrite, skip.
Vector modes: auto (default), recompute, require.
ov backup)Backs up all public scope roots (resources, user, agent, session) as a restore-only .ovpack.
ov backup ./backups/openviking.ovpack
ov backup ./backups/openviking.ovpack --include-vectors
ov restore)Restores a backup package created by ov backup to the original public scope roots.
ov restore ./backups/openviking.ovpack --on-conflict overwrite
ov restore ./backups/openviking.ovpack --on-conflict overwrite --vector-mode require
Regular import rejects backup packages. Session files are restored without vectorization.
sha256, content_sha256).id, uri, account_id, created_at, updated_at) are regenerated on import.viking://resources/) must be imported to viking://.