feat(kv): accept an sqlite vault file path and read plain-tag tables on copy

A kv vault argument can be the path to an SQLite vault file. With -s, kv copy reads the VAULT_TAG table and the plain-tag table into the VAULT_TAG table.
This commit is contained in:
imSp4rky
2026-10-27 13:58:14 -06:00
parent 88f9af2af6
commit 2e75cc35a1
4 changed files with 70 additions and 10 deletions
+3
View File
@@ -429,6 +429,8 @@ unshackle kv COMMAND [ARGS]...
Copy content keys from one or more source vaults into a destination vault. unshackle skips rows whose KIDs match, unless the existing row has no content key. unshackle never alters or deletes existing data.
A vault argument is the name of a vault in the config, or the path to an SQLite vault file. Use a path to import a vault file that is not in the config.
| Option | Description |
|---|---|
| `-s`, `--service` | Only copy data for a specific service. |
@@ -462,6 +464,7 @@ Make service tables on vaults that use tables, for every installed service, wher
```shell
unshackle kv copy main backup1 backup2
unshackle kv copy main backup -s EXAMPLE
unshackle kv copy main ~/Downloads/key_store.db -s EXAMPLE
unshackle kv sync main mysql_vault
unshackle kv add keys.txt EXAMPLE main backup
unshackle kv search 0123456789abcdef0123456789abcdef -s EXAMPLE -v main