HeadSpin Documentation
Documentation

Pusher

Setting up pusher locally requires the mirrors to be running on the same host machine. Mirrors are wrapped in a docker container. To ensure the mirrors can be loaded make sure the docker service is up and running. On mac you will need to install and run the docker app. On linux run <code class="dcode">sudo systemctl start docker</code>

Load the mirror data from the mirrors-resources directory. Change to the mirrors-resources directory inside the installer and run the <code class="dcode">load_everything.sh</code> script. Then change to the mirrors directory and run all the mirrors.


cd mirrors-resources
sudo ./load_everything.sh
cd ../mirrors
sudo ./mirrors.sh run all

Next you will be able to run the installer script <code class="dcode">pusher.py</code>. The script expects a python 2.7.10 or 2.7.13 environment to be available. Install the python requirements to the environment from the pusher directory with <code class="dcode">pip</code>.


cd pusher
pip install -r requirements.txt

You should now able to run pusher from the local machine. pusher.py needs to be run as root to make sure it can invoke docker commands on Linux, but root is not required on macos.

The command line syntax for pusher.py is


pusher.py -k <keys> -t <targets>

A directory containing the keys for an environment should be passed to pusher.py via the -k argument. The keys directory should hold two subdirectories: One should be keys-{env} and the other keys-{env}-red, which comprise the customer environment configuration files.

The second argument for pusher.py is an optional targets list, passed via -t. By default pusher.py pushes to all 3 onprem deployment types unifiedcontroller, pboxagent, and remotecontrol. Any combination of those target types separated by a comma are acceptable arguments for the second argument.

Example


sudo ./pusher.py -k /path/to/parent/keys -t unifiedcontroller,pboxagent