Open lidel opened 7 months ago
defaults: in addition to DHT, should we ask both delegated-ipfs.dev and cid.contact, or only delegated-ipfs.dev?
Looks like this is being done in https://github.com/ipfs/someguy/pull/50 where both are asked, but trying to understand why a little more. Is this about future proofing?
At the moment there are two widely deployed routing "systems" used by IPFS implementations:
delgated-ipfs.dev currently just proxies those two systems. So by default hitting it in addition to the others just means the same query is happening twice, just with maybe some caching happening on delegated-ipfs.dev. What's the goal here?
Setting the default for someguy ask
to delegated-ipfs.dev, or (re)building a tool like ipget to default to delegated-ipfs.dev seems reasonable though.
@aschmahmann I raised similar questions in https://github.com/ipfs/someguy/pull/50#discussion_r1515372538 before reading your comment.
In my mind the goals of including delegated-ipfs.dev
are:
cid.contact
and IPNI as it is today does not support /routing/v1/peers
or /routing/v1/ipns
routing endpoints. delegated-ipfs.dev
supports all routing types.cid.contact
does not support streaming (Accept: application/x-ndjson
), delegated-ipfs.dev
does.My main question is do we even keep cid.contact
, if delegated-ipfs.dev
proxies to it already.
We could say we trade the additional request for resiliency of having different hostnames with separate HTTP caches, which I am fine enough as a reason enough to keep it. Thoughts?
TODOs for delegated-ipfs.dev/routing/v1
Minimum we need to switch
delegated-ipfs.dev/routing/v1
from Kubo to someguy:cc @ns4plabs @cewood lmk if there are any additional asks from bifrost infra side that would make deployment/configuration easier – my idea is to follow similar conventions as rainbow / bifrost-gateway
TODOs for General Availability
Things to do before we start recommending someguy to our users for use in their dev/prod:
README
with usage examples (cli, docker – prior art)docs/environment-variables.md
(prior art)docs/kubo.md
showing how to usesomeguy
as delegated routing for Kubo specifically (including Kubo config) – this could be linked from kubo/docs/config.md toocc @2color for visibility, feel free to flag any dx/ux pain points we should fix before GA