-
Notifications
You must be signed in to change notification settings - Fork 295
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
docs: clarify how to start a multi-node cluster #347
Comments
These are fair comments... We have at least three fronts to address these issues: Docs
Initialization
Autodiscovery
Let's discuss here a bit more about these things before I proceed to create issues... |
I brain dumped some thoughts/questions yesterday when trying to figure where I had gone wrong in setting up the cluster, it may be worthwhile putting them in FAQ, or not 😛: Q: does ipfs-cluster-service live-reload configuration on changes to Q: can a cluster use both a Q: should there be a way to configure multiple peers at once, i.e. add a peer to all other cluster members? Associated with this, management of multiple ipfs-cluster-service nodes is rather cumbersome if there is no way of sending requests to them as a group <- sorry if this doesn't make sense, these are raw, minimally processed thoughts. |
No
It will fail to start. Either you bootstrap or either you write the
That's exactly what bootstrapping does... |
Sorry, I meant like running the |
Maybe, we could model the docs along the lines of the Hashicorp products, i.e. Consul? I find the sections they have are good for finding what you are after. The format of the following list is
|
No, |
I have to agree with @lanzafame - The install process is not trivial and full of gotchas. In my case I am quite new to GO, but not afraid of anything (I usually work in a well-linted, standard nodejs / yarn / webpack / vue / quasar / electron / cordova / mocha / chai environment). The highlight of my day was stumbling across "ipfs-completion.bash". How can that not be written in HUGE letters? Why do I have to post an issue to find out the "right" version of go to use? It seems that there are many assumptions about developer experience with other layers of the IPFS stack, and I although I understand what I need (I think) I really have no idea where to go to look for resources that will get me where I want to go. Everything (except go-ipfs, I guess) is either experimental, subject to change or might be thrown out with the laundry... many of the links to examples (I am looking at you IPLD) are either 2 years old or 404'd - the latter of which is ironic for a project where that shouldn't be possible if the dogfood tasted good. Please, don't be offended. I really want to help! This is a HUGE project, and I am in it for the long run. However, I would like to recommend that there be a concerted effort across Protocol Labs properties to drop the barrier to entry with a visible, unified HOW-TO that starts at the beginning and follows a formula to get humans into it. I am not suggesting that it is important to explain what compilers are or how the internet works. That is a different audience. I think that the nodejs family of IPFS does a much better job of bootstrapping the user into a working environment - but that is something I generally find in node libs... I think something like Consul would be good too, but extended across EVERYTHING with real-world examples of how to use IPFS, IPFS-CLUSTER and IPLD in harmony. (Speaking of harmony, wasn't orbitDB supposed to get integrated into the IPFS family too...?) |
Just going to list out a few of the issues I hit and where I felt the docs fell down in assisting with troubleshooting them.
The first and main issue that I encountered was getting the ipfs-cluster-service nodes to be able to communicate with each other.
This was partly due to me having the incorrect expectations about how the cluster would go about forming, basically, if they had the same
CLUSTER_SECRET
they would auto-discover each other similar to ipfs nodes, when within the same network, which they were in this case.Things that I found confusing about the cluster creation process:
ipfs-cluster-service init
cmd creates config directory and service.json file. There appears to be no way of providing a service.json file toinit
, which when using a docker container means you have to run the container so it runsinit
and then stopping the container and editingservice.json
and then starting the container again. (Note: I was able to do this by mounting named volumes).CLUSTER_SECRET
. To clarify what I mean by 'chicken-and-egg', the requirement to start one node then take that nodes multiaddress and add it to service.json of the other nodes as the bootstrap address (if doing dynamic cluster membership)The other thing is how the documentation is split over several documents and it doesn't always make sense why some are split and some are not.
The text was updated successfully, but these errors were encountered: