Files
tendermint/networks/remote/ansible
2018-04-17 12:28:05 -04:00
..

Using Ansible
=============

.. figure:: assets/a_plus_t.png
   :alt: Ansible plus Tendermint

   Ansible plus Tendermint

The playbooks in `the ansible directory <https://github.com/tendermint/tendermint/tree/master/networks/remote/ansible>`__ 
run ansible `roles <http://www.ansible.com/>`__ to configure the sentry node architecture.

Prerequisites
-------------

-  Install `Ansible 2.0 or higher <https://www.ansible.com>`__ on a linux machine.
-  Create a `DigitalOcean API token <https://cloud.digitalocean.com/settings/api/tokens>`__ with read and write capability.
-  Create SSH keys
-  Install the python dopy package (for the digital_ocean.py script)


Build
-----

::

    export DO_API_TOKEN="abcdef01234567890abcdef01234567890"
    export SSH_KEY_FILE="$HOME/.ssh/id_rsa.pub"

    
    ansible-playbook -i inventory/digital_ocean.py -l remotenet install.yml

    # The scripts assume that you have your validator set up already.
    # You can create the folder structure for the sentry nodes using `tendermint testnet`.
    # For example: tendermint testnet --v 0 --n 4 --o build/
    # Then copy your genesis.json and modify the config.toml as you see fit.

    # Reconfig the sentry nodes with a new BINARY and the configuration files from the build folder:
    ansible-playbook -i inventory/digital_ocean.py -l remotenet config.yml -e BINARY=`pwd`/build/tendermint -e CONFIGDIR=`pwd`/build