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

More rainbows? #3

Closed
phillmac opened this issue Dec 23, 2022 · 1 comment
Closed

More rainbows? #3

phillmac opened this issue Dec 23, 2022 · 1 comment

Comments

@phillmac
Copy link

How can I incentivize an even more striped down version of this?

I don't want any features except for a glorified webserver that can serve /ipfs/ paths from a given blockstore without any of the related datastore, dht, etc. etc.

I plan to run GC externally as well so I'm not even particularly attached to having GC as a feature.

The use case here is using with a filesystem e.g. btrfs or zfs like fs that have snapshot and mount features.
I.E.

  • Shutdown the kubo daemon
  • Snapshot the current blockstore dir
  • Mount the snapshot readonly
  • Spin up some rainbow instances backed by the mounted snapshot.
  • Run some GC on the 'live' version of the blockstore.
  • Start kubo
  • Spin down rainbow instances
  • Resume business as usual.

This whole process could be abstracted even further with containers or virtual machines or both, and all sorts of fancy disk management thereof.

The (perhaps perceived only) problem with the current state of affairs is to run the dht you need to load the datastore and resolve peer ids etc. etc.
Things requiring libp2p land features resolving peer ids and keys e.g. ipns should be handled by a full kubo node elsewhere.

Also could there please be some documentation of which blockstore repo versions this works with?

If I was really being greedy, would it be possible to load blockstore plugins e.g. aws-s3-blockstore?

I'm seriously interested in moving this forward, what's needed to incentivize a little bit of attention here?

@lidel
Copy link
Member

lidel commented Jan 22, 2023

This repo is a PoC, has no tests nor a maintainer.
FYSA I've added note to README and archiving it to remove user confusion.

@whyrusleeping If you want to maintain it and help with https://github.com/ipfs/go-libipfs/, DM me. For now, I am archiving.

I don't want any features except for a glorified webserver that can serve /ipfs/ paths from a given blockstore without any of the related datastore, dht, etc. etc.

You could run Kubo in offline mode (it will still have HTTP gateway, and will provide blocks from datastore):

ipfs daemon --offline

If you want to build your own thing, we are working on extracting gateway code to standalone library, allowing you to do things like one you described without having to run entire Kubo with libp2p stack.

Is you are interested in building your own setup from building pieces, see Gateway Extraction in ipfs/kubo#8524 and our recent efforts to create reusable libraries in https://github.com/ipfs/go-libipfs/.

@phillmac If you could open an issue in https://github.com/ipfs/go-libipfs/ describing your use case (what you want to build), that will be extremely useful, will help us prioritize library extraction and documentation efforts.

@lidel lidel closed this as not planned Won't fix, can't repro, duplicate, stale Jan 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants