IPFS Network Node Orchestrator
Nexus is the IPFS private network node orchestration and registry service for Temporal, an easy-to-use interface into distributed and decentralized storage technologies. Nexus handles on-demand deployment, resource management, metadata persistence, and fine-grained access control for IPFS nodes running within Docker containers.
$> go get -u github.com/RTradeLtd/Nexus/cmd/nexus
Releases are also be available from the Releases page. To start up the Nexus daemon using the default configuration, run:
$> nexus init
$> nexus daemon
Further documentation is available via nexus --help
. Documentation about the
configuration generated by the init
command can currently be found inline in
the configuration source code.
This project requires Docker CE and Go 1.11 or above.
To fetch the codebase, clone the repository or use go get
:
$> go get github.com/RTradeLtd/Nexus
Dependencies can be installed using the provided Makefile:
$> make # installs dependencies and builds a binary
To execute the tests, make sure the Docker daemon is running and run:
$> make test
You can remove leftover assets using make clean
.
A few make commands make it easy to simulate a full orchestrator environment on your machine:
$> make dev-config # make sure dev configuration is up to date
$> make testenv # initialize test environment
$> make daemon # start up daemon with dev configuration
Then, you can set up and start a network node:
$> make new-network # create network entry in database
$> make start-network # spin up network node
An experimental, lightweight controller for the gRPC API is available via the
nexus ctl
command, which exposes a client via the ctl
library.
$> nexus ctl help
$> nexus -dev ctl StartNetwork Network=test-network
$> nexus -dev ctl NetworkStats Network=test-network
$> nexus -dev ctl StopNetwork Network=test-network