#deployment #distributed

nightly app fabric

A distributed fabric for deployable programs

3 releases

Uses old Rust 2015

0.1.2 Jun 27, 2018
0.1.1 Jun 26, 2018
0.1.0 Jun 24, 2018

#8 in #deploy

Apache-2.0

59KB
1.5K SLoC

fabric

This is part of the deploy project.

fabric

Run a fabric worker, optionally as master, and optionally start a bridge running.

Usage

fabric master (<addr> <mem> <cpu> [<bridge> <addr>]...)...
fabric <addr>

Options

-h --help          Show this screen.
-V --version       Show version.

A fabric cluster comprises one or more workers, where one is declared master.

The arguments to the master worker are the address and resources of each worker, including itself. The arguments for a worker can include a binary to spawn immediately and an address to reserve for it. This is intended to be used to spawn the bridge, which works with the deploy command and library to handle transparent capture and forwarding of output and debug information.

The first set of arguments to the master worker is for itself – as such the address is bound to not connected to.

The argument to non-master workers is the address to bind to.

For example, respective invocations on each of a cluster of 3 servers with 512GiB memory and 36 logical cores apiece might be:

fabric 10.0.0.2:9999
fabric 10.0.0.3:9999
fabric master 10.0.0.1:9999 400GiB 34 bridge 10.0.0.1:8888 \
              10.0.0.2:9999 400GiB 34 \
              10.0.0.3:9999 400GiB 34

Deploying to this cluster might then be:

deploy 10.0.0.1:8888 ./binary

or, for a Rust crate:

cargo deploy 10.0.0.1:8888

Dependencies

~4.5MB
~90K SLoC