Currently, ipcs is implemented as a in-tree plugin for containerd, this comes with multiple problems:
- Need to recompile
containerd for ipcs
- If the IPFS daemon is not listening when containerd starts then
ipcs won't be initialized with a working client
- If the IPFS daemon restarts you need to recreate the client, though we could write a fault-tolerant client wrapper
- IPFS daemon includes a lot of subsystems not necessary to operate
ipcs, increasing resource consumption
- We want to fine-tune and optimize distribution specific to container distribution, IPFS adds layers and complexity compared to just
libp2p + bitswap
We should manage our lifecycle outside of containerd with a proxy content store.
Currently,
ipcsis implemented as a in-tree plugin forcontainerd, this comes with multiple problems:containerdforipcsipcswon't be initialized with a working clientipcs, increasing resource consumptionlibp2p+bitswapWe should manage our lifecycle outside of
containerdwith a proxy content store.