diff --git a/playbooks/first-validator/run-first-validator-vars.yml b/playbooks/first-validator/run-first-validator-vars.yml new file mode 100644 index 0000000..c0b1697 --- /dev/null +++ b/playbooks/first-validator/run-first-validator-vars.yml @@ -0,0 +1,13 @@ +cerc_moniker: "TestnetNode" +cerc_chain_id: "laconic_9000-1" +cerc_peers: +min_gas_price: 0.001 +cerc_loglevel: "info" +# Token denomination (alnt or alps) +denom: "alnt" +# Validator key name +key_name: "validator" +# Private key in hex format (required for gentx) +pvt_key: "" +# Required files +genesis_file: diff --git a/playbooks/mainnet-laconicd/run-validator.yml b/playbooks/first-validator/run-first-validator.yml similarity index 65% rename from playbooks/mainnet-laconicd/run-validator.yml rename to playbooks/first-validator/run-first-validator.yml index ecca34b..8aa0a4c 100644 --- a/playbooks/mainnet-laconicd/run-validator.yml +++ b/playbooks/first-validator/run-first-validator.yml @@ -2,12 +2,12 @@ - name: Run mainnet validator node hosts: localhost vars_files: - - run-validator-vars.yml + - run-first-validator-vars.yml vars: data_directory: "{{ lookup('env', 'DATA_DIRECTORY') }}" mainnet_deployment_dir: "{{ lookup('env', 'MAINNET_DEPLOYMENT_DIR') }}" - spec_file: "{{data_directory}}/mainnet-laconicd-spec.yml" - spec_template: "./templates/specs/mainnet-laconicd-spec-template.yml.j2" + spec_file: "{{data_directory}}/laconicd-spec.yml" + spec_template: "./templates/specs/spec-template.yml.j2" tasks: - name: Fail if DATA_DIRECTORY or MAINNET_DEPLOYMENT_DIR env vars are not set fail: @@ -20,9 +20,8 @@ fail: msg: >- Required key files are not defined. - Please set genesis_file, node_key_file, and priv_validator_key_file in run-validator-vars.yml. - when: not genesis_file or not node_key_file or not priv_validator_key_file - + Please set genesis_file in run-first-validator-vars.yml. + when: not genesis_file - name: Fetch laconicd stack shell: laconic-so fetch-stack git.vdb.to/cerc-io/laconicd-stack --git-ssh --pull @@ -51,11 +50,13 @@ copy: dest: "{{data_directory}}/{{ mainnet_deployment_dir }}/config.env" content: | - CERC_MONIKER: "{{ cerc_moniker }}" - CERC_CHAIN_ID: "{{ cerc_chain_id }}" - CERC_PEERS: "{{ cerc_peers}}" - MIN_GAS_PRICE: "{{ min_gas_price }}" - CERC_LOGLEVEL: "{{ cerc_loglevel }}" + CERC_MONIKER: "{{ cerc_moniker }}" + CERC_CHAIN_ID: "{{ cerc_chain_id }}" + CERC_PEERS: "{{ cerc_peers}}" + MIN_GAS_PRICE: "{{ min_gas_price }}" + CERC_LOGLEVEL: "{{ cerc_loglevel }}" + DENOM: "{{ denom }}" + KEY_NAME: "{{ key_name }}" mode: '0777' - name: Ensure tmp directory exists inside laconicd-data @@ -70,17 +71,24 @@ dest: "{{data_directory}}/{{ mainnet_deployment_dir }}/data/laconicd-data/tmp/genesis.json" mode: '0644' - - name: Copy node key file to laconicd-data tmp directory - copy: - src: "{{ node_key_file }}" - dest: "{{data_directory}}/{{ mainnet_deployment_dir }}/data/laconicd-data/tmp/node_key.json" - mode: '0644' + - name: Fail if pvt_key is not set + fail: + msg: >- + Private key (pvt_key) is not set in run-first-validator-vars.yml. + This is required for creating the gentx. + when: not pvt_key - - name: Copy priv validator key file to laconicd-data tmp directory - copy: - src: "{{ priv_validator_key_file }}" - dest: "{{data_directory}}/{{ mainnet_deployment_dir }}/data/laconicd-data/tmp/priv_validator_key.json" - mode: '0644' + - name: Run script to create and collect gentx + shell: | + docker run -it \ + -v {{data_directory}}/{{ mainnet_deployment_dir }}/data/laconicd-data:/root/.laconicd \ + -v {{data_directory}}/{{ mainnet_deployment_dir }}/config/mainnet-laconicd:/scripts \ + -e "PVT_KEY={{ pvt_key }}" \ + -e "KEY_NAME={{ key_name }}" \ + -e "DENOM={{ denom }}" \ + -e "CERC_MONIKER={{ cerc_moniker }}" \ + -e "CERC_CHAIN_ID={{ cerc_chain_id }}" \ + cerc/laconicd:local bash -c "/scripts/create-and-collect-gentx.sh" - name: Run validator node shell: | diff --git a/playbooks/mainnet-laconicd/templates/specs/mainnet-laconicd-spec-template.yml.j2 b/playbooks/first-validator/templates/specs/spec-template.yml.j2 similarity index 100% rename from playbooks/mainnet-laconicd/templates/specs/mainnet-laconicd-spec-template.yml.j2 rename to playbooks/first-validator/templates/specs/spec-template.yml.j2 diff --git a/playbooks/mainnet-laconicd/run-validator-vars.yml b/playbooks/mainnet-laconicd/run-validator-vars.yml deleted file mode 100644 index d2ad6e1..0000000 --- a/playbooks/mainnet-laconicd/run-validator-vars.yml +++ /dev/null @@ -1,8 +0,0 @@ -cerc_moniker: "TestnetNode" -cerc_chain_id: "laconic_9000-1" -cerc_peers: -min_gas_price: 0.001 -cerc_loglevel: "info" -genesis_file: -node_key_file: -priv_validator_key_file: diff --git a/stack-orchestrator/config/mainnet-laconicd/create-and-collect-gentx.sh b/stack-orchestrator/config/mainnet-laconicd/create-and-collect-gentx.sh index f6fb9bd..c035533 100755 --- a/stack-orchestrator/config/mainnet-laconicd/create-and-collect-gentx.sh +++ b/stack-orchestrator/config/mainnet-laconicd/create-and-collect-gentx.sh @@ -32,8 +32,8 @@ if [ ! -f ${input_genesis_file} ]; then fi # Strip leading and trailing quotes ("") if they exist -export MONIKER=$(echo "$MONIKER" | sed -e 's/^["'\'']//g' -e 's/["'\'']$//g') -export CHAIN_ID=$(echo "$CHAIN_ID" | sed -e 's/^["'\'']//g' -e 's/["'\'']$//g') +export MONIKER=$(echo "$CERC_MONIKER" | sed -e 's/^["'\'']//g' -e 's/["'\'']$//g') +export CHAIN_ID=$(echo "$CERC_CHAIN_ID" | sed -e 's/^["'\'']//g' -e 's/["'\'']$//g') export DENOM=$(echo "$DENOM" | sed -e 's/^["'\'']//g' -e 's/["'\'']$//g') # Init