# 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 ```