Feat/backup restore - #19
Merged
Merged
Conversation
khayal backup / khayal restore backed by a new internal/backup package using filippo.io/age v1.2.0 (embedded, pure Go - no external binary). - Backup: vault tree copy + dated khayal-YYYY-MM-DD.db / config-*.yaml snapshots; --encrypt writes armored age ciphertext instead of plain - Restore: latest (or --date) db/config back into place, vault merged ADDITIVELY - newer notes not in the backup are never deleted; existing files need --overwrite; config restore is best-effort with a warning so a live config never aborts recovery of the database - --init-key generates the age identity at ~/.config/khayal/backup.key, refusing to overwrite; key file parsing skips comment lines (the real age v1.2 API has no ParseX25519IdentityFile) - Safety contract: backup warns while running (db snapshot risk noted); restore hard-refuses with stop-first hint Tests: key generation guard, plain round trip, armored encrypt→decrypt cycle with plaintext-leak check, additive merge preserving newer notes, latest-date selection, encrypted-variant preference. Live verified: encrypted backup → db deleted → restore → server serves searches from the recovered database.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.