Part of https://www.notion.so/Create-stacks-for-mainnet-1f2a6b22d4728034be4be2c51decf94e - Add step for installing `zstd` in macOS - Use ansible command module for running docker commands Co-authored-by: Shreerang Kale <shreerangkale@gmail.com> Reviewed-on: #30 Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com> Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
79 lines
2.5 KiB
YAML
79 lines
2.5 KiB
YAML
---
|
|
- name: Create validator on running chain
|
|
hosts: localhost
|
|
vars_files:
|
|
- validator-vars.yml
|
|
vars:
|
|
data_directory: "{{ lookup('env', 'DATA_DIRECTORY') }}"
|
|
create_validator_dir: "{{data_directory}}/create-validator"
|
|
spec_file: "{{data_directory}}/laconicd-validator-spec.yml"
|
|
tasks:
|
|
- name: Fail if DATA_DIRECTORY env var is not set
|
|
fail:
|
|
msg: >-
|
|
Required environment variables are not set.
|
|
Please export DATA_DIRECTORY before running the playbook.
|
|
when: lookup('env', 'DATA_DIRECTORY') == ''
|
|
|
|
- name: Fail if required key files are not defined
|
|
fail:
|
|
msg: >-
|
|
Required key files are not defined.
|
|
Please set staking_amount_file in validator-vars.yml.
|
|
when: not staking_amount_file
|
|
|
|
- name: Ensure tmp directory exists inside laconicd-data
|
|
file:
|
|
path: "{{create_validator_dir}}/tmp"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Copy staking amount file to laconicd-data tmp directory
|
|
copy:
|
|
src: "{{ staking_amount_file }}"
|
|
dest: "{{create_validator_dir}}/tmp/staking-amount.json"
|
|
mode: '0644'
|
|
|
|
- name: Prompt for validator private key
|
|
vars:
|
|
private_key_prompt: "Please enter your validator private key: "
|
|
pause:
|
|
prompt: "{{ private_key_prompt }}"
|
|
echo: no
|
|
register: private_key_input
|
|
|
|
- name: Fail if private key is not provided
|
|
fail:
|
|
msg: "Private key is required for creating the gentx."
|
|
when: private_key_input.user_input | default('') | trim == ''
|
|
|
|
- name: Run create-validator script
|
|
command:
|
|
argv:
|
|
- docker
|
|
- run
|
|
- -i
|
|
- -v
|
|
- "{{create_validator_dir}}:/root/create-validator"
|
|
- -v
|
|
- "{{ ansible_env.HOME }}/cerc/laconicd-stack/stack-orchestrator/config/mainnet-laconicd/create-validator.sh:/scripts/create-validator.sh"
|
|
- -e
|
|
- "KEY_NAME={{ key_name }}"
|
|
- -e
|
|
- "NODE_URL={{ node_url }}"
|
|
- -e
|
|
- "CERC_MONIKER={{ cerc_moniker }}"
|
|
- -e
|
|
- "CERC_CHAIN_ID={{ cerc_chain_id }}"
|
|
- -e
|
|
- "MIN_GAS_PRICE={{ min_gas_price }}"
|
|
- -e
|
|
- "VALIDATOR_PUB_KEY={{ validator_pub_key }}"
|
|
- -e
|
|
- "PVT_KEY={{ private_key_input.user_input }}"
|
|
- --network=host
|
|
- cerc/laconicd:local
|
|
- sh
|
|
- -c
|
|
- "/scripts/create-validator.sh"
|