diff --git a/README.md b/README.md index 2a7b22f..a7862b5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,28 @@ # herocoordinator +## Demo setup + +A python script is provided in the [scripts directory](./scripts/supervisor_flow_demo.py). This script +generates some demo jobs to be run by [a supervisor](https://git.ourworld.tf/herocode/supervisor). +Communication happens over [mycelium](https://github.com/threefoldtech/mycelium). To run the demo a +supervisor must be running, which uses a mycelium instance to read and write messages. A __different__ +mycelium instance needs to run for the coordinator (the supervisor can run on a different host than +the coordinator, so long as the 2 mycelium instances used can reach eachother). + +An example of a local setup: + +```bash +# Run a redis docker +docker run -it -d -p 6379:6379 --name redis redis +# Spawn mycelium node 1 with default settings. This also creates a TUN interface though that is not +# necessary for the messages +mycelium +# Spawn mycelium node 2, connect to the first node +mycelium --key-file key.bin --peers tcp://127.0.0.1:9651 --disable-quic --disable-peer-discovery --api-addr 127.0.0.1:9989 --jsonrpc-addr 127.0.0.1:9990 --no-tun -t 8651 +# Start the supervisor +supervisor --admin-secret admin123 --user-secret user123 --register-secret register123 --mycelium-url http://127.0.0.1:9990 --topic supervisor.rpc +# Start the coordinator +cargo run # (alternatively if a compiled binary is present that can be run) +# Finally, invoke the demo script +python3 scripts/supervisor_flow_demo.py +```