mozilla / sccache

Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
Apache License 2.0
5.83k stars 549 forks source link

ideas: ipfs or 9p for storage #1060

Open ec1oud opened 3 years ago

ec1oud commented 3 years ago

I haven't even tried sccache yet (soon I will!), but my first thought upon reading the summary is how to share the storage in a more informal way between users. Just build storage-sharing into sccache like the way icecream shares compilation environments? Nah that would be duplication of effort.

IPFS would be nicely decentralized.

9p would open up some more options for file servers; a lot of "other" things could be bridged via that protocol. Eventually I think we'll be sharing IPFS storage over 9p, and vice-versa. And even S3 could already have been bridged this way: https://github.com/nicolagi/muscle (not that I've tried it).

There are available Rust implementations for both IPFS and 9p. My impression is the Rust IPFS is not very complete yet: needs work. https://areweipfsyet.rs/ When I tried writing some Rust code to use IPFS it seemed to me that I was better off having it be a client of an existing ipfs daemon instance: https://github.com/ferristseng/rust-ipfs-api And I'll be trying out the 9p implementation soon in another context so will see how that goes. https://pfpacket.github.io/rust-9p/rs9p/

zacslost commented 2 years ago

Take a look at https://filebase.com

milahu commented 2 years ago

my first thought upon reading the summary is how to share the storage in a more informal way between users.

sounds like remote code execution. do you trust random strangers to compile your sources? even if there was such thing as a consensus ... also that can be subverted, compare: tor project, sybil attack

edit: see #845