Skip to content
πŸ¦‘ Nexus is the IPFS private network node orchestration and registry service for Temporal
Go Makefile Shell
Branch: master
Clone or download
Latest commit de76f4b Jul 31, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github chore: add PR template Nov 11, 2018
.scripts docs: rename ipfs-orchestrator references to nexus Jan 16, 2019
client deps: upgrade to new grpc/nexus Jan 17, 2019
cmd/nexus mod: RTradeLtd/config/v2 and RTradeLtd/database/v2 Apr 20, 2019
config config: set v0.4.20 as default ipfs version Apr 20, 2019
daemon daemon: add peerID to start network response and network stat response Jan 18, 2019
delegator mod: RTradeLtd/config/v2 and RTradeLtd/database/v2 Apr 20, 2019
ipfs mod: update RTradeLtd/database Mar 3, 2019
log log: add middleware test Dec 28, 2018
network Merge branch 'nexus' of github.com:RTradeLtd/Nexus into delegator Jan 16, 2019
orchestrator mod: RTradeLtd/config/v2 and RTradeLtd/database/v2 Apr 20, 2019
registry registry: fix port assignment logic Jan 17, 2019
temporal mod: RTradeLtd/config/v2 and RTradeLtd/database/v2 Apr 20, 2019
testenv @ c301a00 testenv: v2.1.0 Apr 20, 2019
.gitignore chore: add vscode directory to gitignore Jan 17, 2019
.gitmodules
.travis.yml config: set v0.4.20 as default ipfs version Apr 20, 2019
LICENCE licence: switch to apache-2.0 Oct 29, 2018
Makefile delegator: remove AccessChecker Jan 16, 2019
README-zh.md update Jul 31, 2019
README.md update Jul 31, 2019
b0x.yml ipfs: clean up generated scripts, add tests Dec 2, 2018
codecov.yml chore: reduce patch target Nov 6, 2018
config.dev.json config: update sample configuration Apr 20, 2019
config.example.json config: update sample configuration Apr 20, 2019
go.mod mod: RTradeLtd/config/v2 and RTradeLtd/database/v2 Apr 20, 2019
go.sum mod: RTradeLtd/config/v2 and RTradeLtd/database/v2 Apr 20, 2019

README.md

πŸ¦‘ Nexus

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.

GoDoc Build Status codecov Go Report Card Latest Release

Multi-Language

jaywcjlove/sb

Installation and Usage

$> 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.

Development

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

Testing

To execute the tests, make sure the Docker daemon is running and run:

$> make test

You can remove leftover assets using make clean.

Running Locally

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

ctl

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
You can’t perform that action at this time.