β¨ An Ansible toolkit for Cosmos networks π«
Use this toolkit to:
pip
and not apt
:
pip install ansible
To join the Cosmos Hub release testnet:
ansible-galaxy install -r requirements.yml
to install dependencies ansible-playbook node.yml -i examples/inventory-release-testnet.yml -e 'target=SERVER_IP_OR_DOMAIN'
journalctl -fu cosmovisor
Watch the video below to see the playbook in action:
--extra-vars
or -e
option.Use node_control.py
to run only part of the node
playbook:
./node_control.py [-i inventory] [-t target] operation
The inventory argument is optional and defaults to inventory.yml
(e.g. ./node_control.py restart
).
The target option is the server IP or domain.
The operation will apply to all the nodes in the inventory:
restart
restarts the node binary/cosmovisor servicestop
stops the node binary/cosmovisor servicestart
starts the node binary/cosmovisor servicereboot
reboots the machinereset
runs node_binary unsafe-reset-all
node
role provides the core functionality of this toolkitroles/node/tasks/main.yml
roles/node/defaults/main.yml
roles/node/templates/
roles/node/templates/ansible_vars.json.j2
This repository runs different tests automatically as defined below.
The fresh state test is run using GitHub Actions and results are displayed with a badge at the top of this readme.
We export a genesis file from cosmoshub-4
and modify it using our tinkerer script. The exported and modified genesis files can be accessed here.
We run the stateful tests with the modified genesis file when there is a major version of Gaia that is higher than the major version running on cosmoshub-4
.
We test joining the Cosmos Hub public testnet weekly using GitHub Actions and a badge is displayed at the top of this readme.
pylint
.yamllint
.lint.sh
and .config/
for details.