Work in progress - Please get in touch
This is the second iteration of an automated deployment for running nodes and supporting infrastructure on the ICON Blockchain.
-
- Visit this link for more information
-
- Check this section
make install-deps-ubuntu
ormake install-deps-mac
-
make clone-all
-
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f $HOME/.ssh/icon_node
- Take note of the path that you create the keys in as you will need it in the next section
-
- You have numerous options to fill out the config files needed to run a deployment.
- All options require that you have the paths to your ssh keys and keystore
- Option #1 and #2 both overwrite your configs each time you do it
- Option #1 - Get prompted to fill in values
- Run
make configs-prompt
- Run
- Option #2 - Fillout higher level config (best method)
- Change
config.yaml.examle
toconfig.yaml
and fill out choices - Run
make configs-from-config
- Change
- Options #3 - Fill out lower level configs manually
- There are five files generated from above options. Create them per above then edit manually.
global.yaml
- Information about network and general setup
secrets.yaml
- Secret values like the keystore password (yeah, we know...) and paths to ssh keys / keystore
account.tfvars
- Your AWS account number
region.tfvars
- The region you deploy into. Same as in global.yaml
node.yaml
- The specs for your node.
- There are five files generated from above options. Create them per above then edit manually.
-
- You will need to regster the node. Check the official docs
- Fill out the config file
registration.yaml
appropriately - Run
make eip-register
- This is an idempotent process after you initially run it, as in you can run it as many times as you want and it will just update your information - for instance if you want to change your logo / links.
- This is a one time process for most people
-
- We have several variations of the node deployment in various stages of development.
- Most stable version right now is the prep-module or prep-basic
- Developers will want to know how to deploy all the pieces individually
- To deploy the most basic version, run:
make apply-prep-module
To turn off your node, run:
make destroy-prep-module
To deploy advanced features, you will need to run a different set of commands to deploy a custom VPC as well.
make apply-network
make apply-prep-module-vpc
make apply-<feature under development>
And to destroy:
make destroy-network
make destroy-prep-module-vpc
make destroy-<feature under development>
To view a complete list of areas that we are working on, check this link.
Short list being:
- Improved monitoring and alerting
- DDoS protection using Envoy
- Host intrusion detection systems
- Vault secrets management
- Improved deployment and testing patterns
Get in touch with Rob if you want to help / need a walk through of the repo.
The deployment works on both Linux and Mac. For windows you will want to install Ubuntu WSL.
- To install dependencies, first try the Makefile
- Mac - Have brew installed then
make install-deps-mac
from the root of repo - Ubuntu -
make install-deps-ubuntu
- Mac - Have brew installed then
- Visit this link for more information
- Here are most of the programs - may be some dependencies of these missing, hence check link above.
- nodejs
- meta
- terraform
- terragrunt
- packer
- ansible
- build-essential
- awscli
- pip
- requests==2.20.0
- preptools