autofetch variables
This commit is contained in:
parent
f57a5502a8
commit
5987c3f6e5
|
@ -19,7 +19,8 @@ roles/main_infra/files/terraform.tfvars
|
||||||
# Stack-specific information
|
# Stack-specific information
|
||||||
/PREFIX
|
/PREFIX
|
||||||
|
|
||||||
group_vars/*.yml
|
group_vars/*
|
||||||
|
!group_vars/all.yml.example
|
||||||
*.retry
|
*.retry
|
||||||
*.temp
|
*.temp
|
||||||
*.swp
|
*.swp
|
||||||
|
|
|
@ -69,20 +69,37 @@
|
||||||
args:
|
args:
|
||||||
chdir: "blockscout-{{ chain }}/apps/block_scout_web"
|
chdir: "blockscout-{{ chain }}/apps/block_scout_web"
|
||||||
|
|
||||||
|
- name: Fetch environment variables
|
||||||
|
set_fact:
|
||||||
|
chain_env: "{{ lookup('aws_ssm', path, aws_access_key=aws_access_key, aws_secret_key=aws_secret_key, region=region, shortnames=true, bypath=true, recursive=true ) }}"
|
||||||
|
vars:
|
||||||
|
path: "/{{ prefix }}/{{ chain }}"
|
||||||
|
|
||||||
|
- name: Override env variables
|
||||||
|
set_fact:
|
||||||
|
chain_env: "{{ chain_env | combine(chain_custom_environment_chain) }}"
|
||||||
|
vars:
|
||||||
|
chain_custom_environment_chain: "{{ chain_cec[chain] | default({}) }}"
|
||||||
|
chain_cec: "{{ chain_custom_environment | default ({}) }}"
|
||||||
|
|
||||||
|
- name: Uppercase chain
|
||||||
|
set_fact:
|
||||||
|
chain_upper_env: "{{ chain_upper_env | combine ({item.key|upper : item.value}) }}"
|
||||||
|
with_dict: "{{ chain_env }}"
|
||||||
|
vars:
|
||||||
|
chain_upper_env: {}
|
||||||
|
|
||||||
- name: Start server
|
- name: Start server
|
||||||
block:
|
block:
|
||||||
- name: Start server
|
- name: Start server
|
||||||
command: "mix phx.server"
|
command: "mix phx.server"
|
||||||
environment: "{{ chain_env }}"
|
environment: "{{ chain_upper_env }}"
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
args:
|
args:
|
||||||
chdir: "blockscout-{{ chain }}"
|
chdir: "blockscout-{{ chain }}"
|
||||||
vars:
|
|
||||||
chain_env: "{{ chain_custom_environment_chain | combine({'BLOCKSCOUT_VERSION': chain_blockscout_version[chain], 'COIN': chain_coin[chain], 'ETHEREUM_JSONRPC_HTTP_URL': chains[chain], 'ETHEREUM_JSONRPC_TRACE_URL': chain_trace_endpoint[chain], 'ETHEREUM_JSONRPC_WS_URL': chain_ws_endpoint[chain], 'ETHEREUM_JSONRPC_VARIANT': chain_jsonrpc_variant[chain], 'HEART_BEAT_TIMEOUT': chain_heart_beat_timeout[chain], 'HEART_COMMAND': chain_heart_command[chain], 'LOGO': chain_logo[chain], 'NETWORK': chain_network[chain], 'SUBNETWORK': chain_subnetwork[chain], 'NETWORK_ICON': chain_network_icon[chain]}) }}"
|
|
||||||
chain_custom_environment_chain: "{{ chain_cec[chain] | default({}) }}"
|
|
||||||
chain_cec: "{{ chain_custom_environment | default ({}) }}"
|
|
||||||
async: 10000
|
async: 10000
|
||||||
poll: 0
|
poll: 0
|
||||||
|
|
||||||
- name: User prompt
|
- name: User prompt
|
||||||
pause:
|
pause:
|
||||||
prompt: "Please, open your browser and open 4000 port at the machine were Ansible is currently run. BlockScout should appear. Ensure that there is no visual artifacts and then press Enter to continue. Press Ctrl+C and then A if you face any issues to cancel the deployment."
|
prompt: "Please, open your browser and open 4000 port at the machine were Ansible is currently run. BlockScout should appear. Ensure that there is no visual artifacts and then press Enter to continue. Press Ctrl+C and then A if you face any issues to cancel the deployment."
|
||||||
|
@ -103,6 +120,11 @@
|
||||||
args:
|
args:
|
||||||
chdir: "blockscout-{{ chain }}"
|
chdir: "blockscout-{{ chain }}"
|
||||||
|
|
||||||
|
- name: User prompt
|
||||||
|
pause:
|
||||||
|
prompt: "Would you like to remove staging dependencies? [Yes/No] Default: No"
|
||||||
|
register: user_answer
|
||||||
|
|
||||||
- name: Remove dev dependencies
|
- name: Remove dev dependencies
|
||||||
file:
|
file:
|
||||||
state: absent
|
state: absent
|
||||||
|
@ -113,6 +135,7 @@
|
||||||
- "blockscout-{{ chain }}/apps/block_scout_web/assets/node_modules/"
|
- "blockscout-{{ chain }}/apps/block_scout_web/assets/node_modules/"
|
||||||
- "blockscout-{{ chain }}/apps/explorer/node_modules/"
|
- "blockscout-{{ chain }}/apps/explorer/node_modules/"
|
||||||
- "blockscout-{{ chain }}/logs/dev/"
|
- "blockscout-{{ chain }}/logs/dev/"
|
||||||
|
when: user_answer.user_input|bool == true
|
||||||
|
|
||||||
- name: Upload Blockscout to S3
|
- name: Upload Blockscout to S3
|
||||||
command: "aws deploy push --application-name={{ prefix }}-explorer --s3-location s3://{{ prefix }}-explorer-codedeploy-releases/blockscout-{{ chain }}.zip --source=blockscout-{{ chain }}"
|
command: "aws deploy push --application-name={{ prefix }}-explorer --s3-location s3://{{ prefix }}-explorer-codedeploy-releases/blockscout-{{ chain }}.zip --source=blockscout-{{ chain }}"
|
||||||
|
@ -122,43 +145,30 @@
|
||||||
AWS_SECRET_ACCESS_KEY: "{{ aws_secret_key }}"
|
AWS_SECRET_ACCESS_KEY: "{{ aws_secret_key }}"
|
||||||
AWS_REGION: "{{ region }}"
|
AWS_REGION: "{{ region }}"
|
||||||
|
|
||||||
|
- name: Upload output
|
||||||
|
debug:
|
||||||
|
msg: "If deployment will fail, you can try to deploy blockscout manually using the following commands: {{ push_output.stdout_lines }}"
|
||||||
|
|
||||||
- name: User prompt
|
- name: User prompt
|
||||||
pause:
|
pause:
|
||||||
prompt: "Do you want to deploy the built BlockScout version? [Yes/No] Default: No"
|
prompt: "Do you want to update the Parameter Store variables? [Yes/No] Default: No"
|
||||||
register: user_answer
|
register: user_answer
|
||||||
|
|
||||||
- name: Update chain variables
|
- name: Update chain variables
|
||||||
aws_ssm_parameter_store:
|
aws_ssm_parameter_store:
|
||||||
name: "/{{ prefix }}/{{ chain }}/{{ item.name }}"
|
name: "/{{ prefix }}/{{ chain }}/{{ item.key }}"
|
||||||
value: "{{ item.value }}"
|
value: "{{ item.value }}"
|
||||||
with_items:
|
with_dict: "{{ chain_env }}"
|
||||||
- { name: elixir_version, value: "{{ elixir_version }}" }
|
|
||||||
- { name: block_transformer, value: "{{ chain_block_transformer[chain] }}" }
|
|
||||||
- { name: pool_size, value: "{{ pool_size }}" }
|
|
||||||
- { name: ecto_use_ssl, value: "{{ use_ssl }}" }
|
|
||||||
- { name: ethereum_jsonrpc_variant, value: "{{ chain_jsonrpc_variant[chain] }}" }
|
|
||||||
- { name: ethereum_jsonrpc_http_url, value: "{{ chains[chain] }}" }
|
|
||||||
- { name: ethereum_jsonrpc_trace_url, value: "{{ chain_trace_endpoint[chain] }}" }
|
|
||||||
- { name: ethereum_jsonrpc_ws_url, value: "{{ chain_ws_endpoint[chain] }}" }
|
|
||||||
- { name: logo, value: "{{ chain_logo[chain] }}" }
|
|
||||||
- { name: coin, value: "{{ chain_coin[chain] }}" }
|
|
||||||
- { name: network, value: "{{ chain_network[chain] }}" }
|
|
||||||
- { name: subnetwork, value: "{{ chain_subnetwork[chain] }}" }
|
|
||||||
- { name: network_path, value: "{{ chain_network_path[chain] }}" }
|
|
||||||
- { name: network_icon, value: "{{ chain_network_icon[chain] }}" }
|
|
||||||
- { name: graphiql_transaction, value: "{{ chain_graphiql_transaction[chain] }}" }
|
|
||||||
- { name: secret_key_base, value: "{{ secret_key_base }}" }
|
|
||||||
- { name: alb_ssl_policy, value: "{{ alb_ssl_policy }}" }
|
|
||||||
- { name: alb_certificate_arn, value: "{{ alb_certificate_arn }}" }
|
|
||||||
- { name: heart_beat_timeout, value: "{{ chain_heart_beat_timeout[chain] }}" }
|
|
||||||
- { name: heart_command, value: "{{ chain_heart_command[chain] }}" }
|
|
||||||
- { name: blockscout_version, value: "{{ chain_blockscout_version[chain] }}" }
|
|
||||||
environment:
|
environment:
|
||||||
AWS_ACCESS_KEY_ID: "{{ aws_access_key }}"
|
AWS_ACCESS_KEY_ID: "{{ aws_access_key }}"
|
||||||
AWS_SECRET_ACCESS_KEY: "{{ aws_secret_key }}"
|
AWS_SECRET_ACCESS_KEY: "{{ aws_secret_key }}"
|
||||||
AWS_REGION: "{{ region }}"
|
AWS_REGION: "{{ region }}"
|
||||||
when: user_answer.user_input|bool == true
|
when: user_answer.user_input|bool == true
|
||||||
# DB and New Relic info will not be refreshed
|
|
||||||
|
- name: User prompt
|
||||||
|
pause:
|
||||||
|
prompt: "Do you want to deploy BlockScout? [Yes/No] Default: No"
|
||||||
|
register: user_answer
|
||||||
|
|
||||||
- name: Deploy Blockscout
|
- name: Deploy Blockscout
|
||||||
command: "{{ push_output.stdout_lines[1] }} --deployment-group-name {{ prefix }}-explorer-dg{{ index }} --deployment-config-name CodeDeployDefault.OneAtATime --description '{{ chain_blockscout_version[chain] }}'"
|
command: "{{ push_output.stdout_lines[1] }} --deployment-group-name {{ prefix }}-explorer-dg{{ index }} --deployment-config-name CodeDeployDefault.OneAtATime --description '{{ chain_blockscout_version[chain] }}'"
|
||||||
|
|
Loading…
Reference in New Issue