A simple content-addressable store with tagging support
ca-store is planned to work as follows: 1) A monad (currently IO) will generate the configuration, read the command line, parse the config files, and create the environment the program should run in. 2) This environment will be passed to the main monad (currently Program) to do the work. Currently everything will be directly coded with little to no abstraction. Once ca-store is up and running, we will begin regaining purity by pulling major features into small testable units. |
||
|---|---|---|
| app | ||
| src | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| package.yaml | ||
| README.md | ||
ca-store
ca-store is a content-addressable store for your files, be they documents, pictures, videos, or whatever.
Usually when we store files we give them a filename, so that we can refer to its contents. If you are a developer you will probably get a file handle, or if you are working at a really low level you will probably get an inode number. Regardless of what you get, you can use it to access your files later.
A content-addressable store will instead give you an id that depends on the contents of the file itself. This makes it useful for storing large amounts of read only data.