* Libp2p protectors no longer needed, use PSK directly
* Generate cluster 32-byte secret here (helper gone from pnet)
* Switch to go-log/v2 in all places
* DHT bootstrapping not needed. Adjust DHT options for tests.
* Do not rely on dissappeared CidToDsKey and DsKeyToCid functions fro dshelp.
* Disable QUIC (does not support private networks)
* Fix tests: autodiscovery started working properly
This:
* Allows choosing the consensus for the automatic "init" on Docker with
IPFS_CLUSTER_CONSENSUS.
* Removes IPFS_PATH and the sed replacements for 0.0.0.0 on RestAPI and
Ipfsproxy endpoints because these are easily supported by setting env vars
correctly and pose some security risk when running with net=host.
* Brings up to date Dockerfile-test and Dockerfile-bundle, even if mostly
unused.
Fixes#865.
This makes the necessary changes so that consensu is selected on "init" with a
flag set, by default, to "crdt". This generates only a "crdt" or a "raft"
section, not both.
If the configuration file has a "raft" section, "raft" will be used to start
the daemon. If it has a "crdt" section, "crdt" will be used. If it has none or
both sections, an error will happen.
This also affects "state *" commands, which will now autoselect how to work
from the existing configuration.
It has a few implications to launch a raft peer when you wanted to do crdt and vice-versa.
Same when exporting and exporting states.
Users starting cluster peers should be explicit about their consensus choice.
Also, if we ever want to make `crdt` the default, we can't do that before
making `raft` non-default first. I don't like to break things but otherwise
the experience for new users wanting to try crdts might be aweful.
By using gx install --local, deps are copied into
the build context and therefore only stale deps
will get pulled from the network on image build.
License: MIT
Signed-off-by: Adrian Lanzafame <adrianlanzafame92@gmail.com>
The main container will now run only ipfs-cluster-service.
A new ipfs-cluster-bundle container is built by Dockerfile-bundle
which will provide ipfs-cluster+ipfs.
Fixes#197
License: MIT
Signed-off-by: Hector Sanjuan <code@hector.link>
This used to work. Even if it's been surfaced by 4a8759939 we were
extensively testing the Dockerfile before that release.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
After changes on how the final docker image for go-ipfs is generated,
our Dockerfiles failed to build.
The new version is inspired on go-ipfs Dockerfile. It takes advantage
of docker >= v17.06 which allows multi-stage Dockerfiles with
several FROM directives and COPY --from. This allows build freely on a
first stage, without thinking of cleaning up, and then just copy the
final artifacts to a second, minimal image.
The Dockerfile-test is similarly updated. Minor changes have been
applied to the entrypoints.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
Updates dockerfile and entrypoint script to have the same behavior the ipfs-go docker build
moved to in 3477. This fixes a bug where the cluster entrypoint script does not have
sufficient permissions to access /data/ipfs. The entrypoint also now launches a process with
tini