Kite module for crypto-nodes deployment
ETH and ERC20 tokens - Geth.
BTC - Bitcoind.
BCH - Bitcoin ABC.
LTC - Litecoind.
Dash - Dashd.
Ripple - Rippled
- Create a base platform repository
- Install the Kite DevOps tool
- Create your Infrastructure as Code base repository
- Change configuration for cloud provider
- Generate an environment(e.g. development/test/production)
- Add a module to your environment
Do not apply Terraform configuration from the environment
Fill in the configurations of your nodes deployment
$> $EDITOR config/environments/<env>/vars.kite-opex.yml
Find this block in the file and fill it in with the correct options
cryptonodes: ethereum: enabled: true # Set to false if you don't want it to be deployed client: "geth" # Available options: geth, parity. network: "rinkeby" # Available options: rinkeby, kovan, mainnet. disk_size: "30" hostname: "eth.helioscloud.com" rpcport: "8545" port: "30303" whitelisted_ips: ["0.0.0.0/0"] ripple: ...
You need to build images for cryptonodes you want to deploy (ethereum bitcoind bitcoincash litecoind dashd rippled wcg):
$> bundle exec rake "cryptonodes:build[image]" # This will build the exact image you specify $> bundle exec rake "cryptonodes:build:all" # This will build all images enabled in config/environments/stage/vars.kite-opex.yml
All images will be stored in gcp, you do not need to build an image if you have one already.
After build finishes, put image (smth like
variables: terraform: ethereum_image: geth-1524260905
Make sure you disabled cryptonodes you do not want to deploy (
Now you can deploy cryptonodes:
kite terraform init kite terraform apply
Configuration for each cryptonode you can find in:
$> cat cryptonodes/images/(cryptonode).json # Configuration for cryptonode image $> cat cryptonodes/resources/(cryptonode)/(cryptonode).conf # Configuration for cryptonode image $> cat cryptonodes/resources/(cryptonode)/(cryptonode).service # Configuration for cryptonode image $> cat cryptonodes/resources/scripts/install-(cryptonode).sh # Bash script that packer uses to build cryptonode image
After successfull deployment, crypto node synchronization will start and take a while. Please be patient.
You can find more information about your deployment using
gcloud or Google Cloud Platform UI.
$> gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS image-xxxx xxxxxx-xxxxx-x xx-xxxxxxxx-x 10.xxx.x.x 35.xxx.xxx.xxx RUNNING
You can also see your deployed cryptonodes using
$> kite t show
Among other created resources you'll see deployed cryptonodes on virtual machines
If you want to tear down a cryptonode you can do:
$> kite t destroy (cryptonode VM) # you can find the exact VM by doing `kite t show`