forked from celestiaorg/cosmos-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request cosmos#1044 from cosmos/greg/remotenet
Remotenet commands for easy cloud validators setup
- Loading branch information
Showing
31 changed files
with
2,046 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
Terraform & Ansible | ||
=================== | ||
|
||
Automated deployments are done using `Terraform <https://www.terraform.io/>`__ to create servers on Digital Ocean then | ||
`Ansible <http://www.ansible.com/>`__ to create and manage testnets on those servers. | ||
|
||
Prerequisites | ||
------------- | ||
|
||
- Install `Terraform <https://www.terraform.io/downloads.html>`__ and `Ansible <http://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html>`__ on a Linux machine. | ||
- Create a `DigitalOcean API token <https://cloud.digitalocean.com/settings/api/tokens>`__ with read and write capability. | ||
- Install the python dopy package (``pip install dopy``) (This is necessary for the digitalocean.py script for ansible.) | ||
- Create SSH keys | ||
|
||
:: | ||
|
||
export DO_API_TOKEN="abcdef01234567890abcdef01234567890" | ||
export TESTNET_NAME="remotenet" | ||
export SSH_PRIVATE_FILE="$HOME/.ssh/id_rsa" | ||
export SSH_PUBLIC_FILE="$HOME/.ssh/id_rsa.pub" | ||
|
||
These will be used by both ``terraform`` and ``ansible``. | ||
|
||
Create a remote network | ||
----------------------- | ||
|
||
:: | ||
|
||
make remotenet-start | ||
|
||
|
||
Optionally, you can set the number of servers you want to launch and the name of the testnet (which defaults to remotenet): | ||
|
||
:: | ||
|
||
TESTNET_NAME="mytestnet" SERVERS=7 make remotenet-start | ||
|
||
|
||
Quickly see the /status endpoint | ||
-------------------------------- | ||
|
||
:: | ||
|
||
make remotenet-status | ||
|
||
|
||
Delete servers | ||
-------------- | ||
|
||
:: | ||
|
||
make remotenet-stop | ||
|
||
Logging | ||
------- | ||
|
||
You can ship logs to Logz.io, an Elastic stack (Elastic search, Logstash and Kibana) service provider. You can set up your nodes to log there automatically. Create an account and get your API key from the notes on `this page <https://app.logz.io/#/dashboard/data-sources/Filebeat>`__, then: | ||
|
||
:: | ||
|
||
yum install systemd-devel || echo "This will only work on RHEL-based systems." | ||
apt-get install libsystemd-dev || echo "This will only work on Debian-based systems." | ||
|
||
go get github.com/mheese/journalbeat | ||
ansible-playbook -i inventory/digital_ocean.py -l remotenet logzio.yml -e LOGZIO_TOKEN=ABCDEFGHIJKLMNOPQRSTUVWXYZ012345 | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
*.retry | ||
files/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[defaults] | ||
retry_files_enabled = False | ||
host_key_checking = False | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
|
||
- hosts: all | ||
user: root | ||
any_errors_fatal: true | ||
gather_facts: no | ||
roles: | ||
- clear-config | ||
|
Oops, something went wrong.