Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VaultInternal Version and Logging #336

Closed
2 tasks done
tegefaulkes opened this issue Feb 15, 2022 · 2 comments · Fixed by #266
Closed
2 tasks done

VaultInternal Version and Logging #336

tegefaulkes opened this issue Feb 15, 2022 · 2 comments · Fixed by #266
Assignees
Labels
development Standard development r&d:polykey:core activity 1 Secret Vault Sharing and Secret History Management

Comments

@tegefaulkes
Copy link
Contributor

tegefaulkes commented Feb 15, 2022

Specification

Logging is similar to a git log. where we get the commit history tracing back from the specified ref or the HEAD if no ref specified. It should contain information relating to each commit ordered in newest to oldest. The information it contains is

  • ref
  • author information
  • commit message containing a generated list of changes for each commit.

This history will be linear and only containing the commits from the main branch. Any commits outside the branch can not be listed.

We need to have a way to checkout previous history of the vault. this will be done via a Version command. To set the commit we wish to check out it should take a ref parameter that accepts HEAD, main or any valid ref string. We should for safety check if the specified ref exists within the expected branch. This should be unnecessary due to GC but it's any easy check to include.

Specify this out more if needed. Add details for command usage.

Additional context

Tasks

  • 1. create/update vault log command.
  • 2. create/update vault version command.
@tegefaulkes
Copy link
Contributor Author

tegefaulkes commented Mar 2, 2022

EDIT: moved comment to other issue #335 (comment)

@CMCDragonkai
Copy link
Member

Main reason to prefer the spec that I setup first is that the system is less complex when the roles of each component is "constant". That is they don't change due to different situations. One can say something like this:

  1. Every time you make a change, whether that add new history or change old history, you always move the HEAD and branch pointer every time.
  2. When you recover, you always recover from the branch pointer (because it is moved at the very end before dirty is flipped).

Finally in the future, if we allow multi-verse history, then branch pointers are always "linear paths" through the history graph. No such thing as a temporary branch pointer.

tegefaulkes added a commit that referenced this issue Mar 8, 2022
tegefaulkes added a commit that referenced this issue Mar 8, 2022
tegefaulkes added a commit that referenced this issue Mar 9, 2022
@teebirdy teebirdy added the r&d:polykey:core activity 1 Secret Vault Sharing and Secret History Management label Jul 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
development Standard development r&d:polykey:core activity 1 Secret Vault Sharing and Secret History Management
3 participants