Instructions to deploy the monitor for existing bridges
The TokenBridge monitor instance deployment uses Ansible. Moreover the process below assumes there are two nodes: one node where Ansible playbooks orchestrate the deployment process (orchestration node) and another node where the monitor instance is deployed (target node).
The orchestration node must satisfy the following dependencies:
Python 2 (v2.6-v2.7)/Python3 (v3.5+)
Ansible v2.3+ (on Ubuntu based systems it could be installed by apt-get install ansible )
The target node musthave a functional Ubuntu 16.04 or 18.04 launched, and recommended 4Gb+ memory.
For these instructions, You will use an Infura account with a project ID. You can create a free account and the id will be located there. Alternately, you can choose a different mainnet endpoint.
Tasks on Orchestration Node
1. Login and generate a pair of SSH keys that will be used by the orchestration node to remotely login to the target node. The generated public key must be added to .ssh/authorized_keys on the target node in the home directory of the user (usually root or ubuntu) that will be configured to perform deployment actions.
Replace all places templated with tags (<>) with actual values. In order to achieve this it is necessary to define in advance the port where the monitor web-service will listen users' requests and the JSON RPC url to communicate with Ethereum Mainnet nodes.
The web service port must be specified only in the first file.
4. Return to the deployment directory (cd ..) and create the hosts.yml file
Replace all variables templated with tags (<>) with actual values.
<target node ip address 22.214.171.124>:
Here <user> is the account that will ssh into the monitor node for deployment actions. This is typically ubuntu or root.
5. Next, the Ansible playbook will deploy the monitor instance on the remote target node, then propagate the rest of configuration to the same system. You will run the playbook each time after re-configuring the hosts.yml file
If the target node contains python3 instead of python, append -e 'ansible_python_interpreter=/usr/bin/python3' to the end of the ansible-playbook command (before -i hosts.yml). Try this if you get a node connection / ssh error.
Depending on your ssh setup, you may not need the --private-key flag
Automated deployment and the remote node configuration can take a few minutes depending on target node resources. Be patient and maybe have a