You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
remove s3, zdb, and directory as backend only support mycofs server
mycofs stores the data on a folder based structure (aa/bb/cccccccccc. these are the blobs) ...???
a mycofs server has following features
quickly define which blobs are there (e.g. give list of 1000 blobs, we get to know which ones we have)
verify a list of blobs (hash recalculated)
download a list of blobs as tar
upload a list of blobs as tar
get a blob
delete a list of blobs
copy a list of blobs to a remote server (rsync like) (so we can instruct one server to also copy the blobs to another server)
manage flists (upload, delete)
people can list and download flists, they are groupd per account
is part of mycofs cmdline
to manage mycofs server is openrpc on local socket (ask maxim how to do in Be), this can be reached from mycelium
make rust client using the openrpc over mycelium as well as over local socket
we log all actions (how much data uploaded, downloaded, ...)
a mycofslist can be exposed over a http optionally webdav interface (so an flist can be a webserver)
the exposes mycofslist or short mylist can be attached to prefix or domain name (only http)
so basically a mylist become a website (http/html/files...)
fuse...
management
simplified for phase 1
there are guests, users & admins
users & admins get authenticated based on a signature on a pubkey (see our webassembly stuff), so basically I use my private key to prove that I own the pubkey
guests dont need authentication, they can download anything, only for exposed mylists which are public
the pubkey is what allows me to login, once logged in I get a unique token which allows me to do my actions
users can download, we track what they download
admins need authentication (just based on a key) they can upload, delete, expose mylists as http...
step 1
rfs server: should be able download an flist, download a tar of all of lists blocks, upload a targz as an flist
GET /flist/<id>/download
POST a targz /flist/upload
DELETE /flist/<id> (should delete the flist and all of its blocks if not referenced -> can be done later if not easily calculated
step 2
rfs server: should be able to retrive certain block or a list of blocks
GET /blocks/<blockids> if one it retrieves one block
GET /blocks/<blockids> if comma separated, retrieves multiple blocks (in tar)
rfs server: should be able to sync with other servers
management
simplified for phase 1
step 1
GET /flist/<id>/downloadPOST a targz /flist/uploadDELETE /flist/<id>(should delete the flist and all of its blocks if not referenced -> can be done later if not easily calculatedstep 2
GET /blocks/<blockids>if one it retrieves one blockGET /blocks/<blockids>if comma separated, retrieves multiple blocks (in tar)/sync/<serverurl>/<blockids>