Update the rewritten documents for the fixes merged into next
The documents, the example config and the help text are rebased onto the fourteen fixes on next. The sentences those fixes made false now match the code: an unknown config key, a relative index_path and a value that is not a size are refused when the config loads; a backup saves the destination in the local index only after it writes the marker file, and no other command saves it; a backup skips the local index, its side files and the lock file; a binary from go install reports its tag and counts as a release; a declined deletion prompt exits 1 with "deletion not confirmed"; the S3 keys are set before an s3:// storage_url. No document quoted the old messages for an unknown snapshot ID, a wrong private key or an unreadable blob. Model: fable-5-1
This commit is contained in:
1 parent
da300fc91c
commit
a0efb2a5bc
4 files changed
+67
-26
No files matched your search
+13
-8
@@ -124,9 +124,9 @@ These commands do not build the application:
|
||||
|
||||
`Vaultik.CreateSnapshot` runs a backup. It does these steps in order:
|
||||
|
||||
- `EnsureStorageBinding` checks that the local index belongs to the configured
|
||||
destination.
|
||||
- `markDestination` checks the marker file and then writes it.
|
||||
- `markDestination` checks that the local index is not bound to another
|
||||
destination. It then checks the marker file, writes it, and binds the local
|
||||
index to the configured destination.
|
||||
- `PruneDatabase` removes unfinished snapshots and unused records from the local
|
||||
index.
|
||||
- `createNamedSnapshot` runs once for each snapshot name.
|
||||
@@ -181,6 +181,8 @@ The walk handles each kind of entry differently:
|
||||
- A device node, a named pipe or a socket is skipped.
|
||||
- An entry that matches an exclude pattern is skipped. For a directory, so is
|
||||
everything in it.
|
||||
- The local index, its SQLite side files and the lock file `vaultik.pid` are
|
||||
skipped, whatever the exclude patterns say.
|
||||
|
||||
### Deduplication
|
||||
|
||||
@@ -344,7 +346,7 @@ the private key:
|
||||
|
||||
## Prune
|
||||
|
||||
`Vaultik.Prune` calls `EnsureStorageBinding` and then does three steps:
|
||||
`Vaultik.Prune` calls `checkStorageBinding` and then does three steps:
|
||||
|
||||
- `CleanupLocalSnapshots` drops from the local index each snapshot whose
|
||||
manifest is gone from the destination.
|
||||
@@ -386,15 +388,18 @@ With no `storage_url`, it builds the S3 implementation from the `s3` settings.
|
||||
|
||||
## The marker file and the destination binding
|
||||
|
||||
Two checks keep the local index and the destination in step.
|
||||
These checks keep the local index and the destination in step.
|
||||
|
||||
- `checkDestinationMarker` looks for `vaultik-destination.txt`. It fails when
|
||||
the file is reported missing while the local index holds snapshots. It skips
|
||||
the check when the local index belongs to another destination.
|
||||
- `EnsureStorageBinding` records the configured destination in the local index
|
||||
on first use. Later it fails when the config names a different destination.
|
||||
- `checkStorageBinding` fails when the local index is bound to a different
|
||||
destination from the configured one. It records nothing.
|
||||
- `EnsureStorageBinding` binds an unbound local index to the configured
|
||||
destination. Only `markDestination` calls it, after the marker file is
|
||||
written, so a backup that writes nothing leaves the local index unbound.
|
||||
|
||||
Every command that takes the lock calls `EnsureStorageBinding` first.
|
||||
Every command that takes the lock calls `checkStorageBinding` first.
|
||||
|
||||
## Concurrency
|
||||
|
||||
|
||||
Reference in new issue
Block a user