oxur / rucksack

A terminal-based secrets manager, generator, and importer/exporter (Firefox, Chrome) backed with a concurrent hashmap
Apache License 2.0
12 stars 1 forks source link

Decide upon data storage #6

Closed oubiwann closed 1 year ago

oubiwann commented 1 year ago

Sled?

oubiwann commented 1 year ago

https://persy.rs/ ?

oubiwann commented 1 year ago

std:HashMap?

We could:

  1. encrypt the entire hashmap: https://docs.rs/enc_file/latest/enc_file/fn.encrypt_hashmap.html
  2. decrypt it with a main pass in-mem (as-needed) using secrecy
  3. only the keys would be plain-text at that point, the values encrypted with the main pass

Would probably be a pain managing the writes ... could just do the same with persy or sled.

oubiwann commented 1 year ago

I think I'll just start with Sled and see what issues I run into ...

oubiwann commented 1 year ago

Another possibility: https://crates.io/crates/evmap

oubiwann commented 1 year ago

SurrealDB?

oubiwann commented 1 year ago

Surreal offers file-based encryption -- gonna go with this for now.

oubiwann commented 1 year ago

SurrealDB is a MASSIVE dependency and it's slowing down all the testing by orders of magnitude.

So, re-opening ...

oubiwann commented 1 year ago

What about going SUPER simple?

Store everything in-mem, in a hashmap ...

Startup:

Run-time (both CLI and a daemon):

Shutdown:

Seems like age would be a good fit here ...

oubiwann commented 1 year ago

Going to experiment with this next:

oubiwann commented 1 year ago

Now this:

oubiwann commented 1 year ago

Now this:

oubiwann commented 1 year ago

Made more progress with that last one than anything else, to date ... gonna try closing this again.