This module helps with registering a node on the ICON Blockchain. It is meant to be used by the following cloud specific registration modules:
- terraform-icon-aws-registration
- terraform-icon-gcp-registration
- terraform-icon-azure-registration - WIP
- terraform-icon-aws-registration - WIP
- terraform-icon-packet-registration - WIP
- terraform-icon-hetzner-registration - WIP
These modules then do the following:
- Creates an elastic IP that will be your main IP that your node will use to run and applies a number of tags on the resource so it can be queried to be attached to instances later
- Puts the necessary details.json file in a bucket publicly accessible along with logos
- Runs
preptools
to register the node or update the info
Make sure you have 2000 ICX registration fee in your wallet for mainnet and you have testnet tokens for testnet
Fill out the appropriate values in terraform.tfvars.example
then move to terraform.tfvars
if running directly.
Really this module should be used from a scaffolding like terragrunt
like in (terragrunt-aws-icon)[https://github.com/insight-infrastructure/terragrunt-aws-icon]
For Terraform v0.12.0+
module "this" {
source = "../.."
network_name = "testnet"
public_ip = "1.2.3.4"
static_endpoint = "https://google.com"
organization_name = "Insight-CI"
organization_country = "USA"
organization_email = "hunter@gmail.com"
organization_city = "A city"
organization_website = "https://google.com"
server_type = "cloud"
keystore_password = var.keystore_password
keystore_path = local.keystore_path
logo_256 = local.logo_256
logo_1024 = local.logo_1024
logo_svg = local.logo_svg
}
No issue is creating limit on this module.
Name | Version |
---|---|
external | n/a |
local | n/a |
template | n/a |
Name | Description | Type | Default | Required |
---|---|---|---|---|
environment | The environment | string |
"dev" |
no |
Link to social media account - https://... | string |
"" |
no | |
github | Link to social media account - https://... | string |
"" |
no |
keybase | Link to social media account - https://... | string |
"" |
no |
keystore_password | The keystore password | string |
n/a | yes |
keystore_path | the path to your keystore | string |
n/a | yes |
logo_1024 | Path to png logo | string |
"" |
no |
logo_256 | Path to png logo | string |
"" |
no |
logo_svg | Path to svg logo | string |
"" |
no |
namespace | The namespace to deploy into | string |
"icon" |
no |
network_name | mainnet or testnet - Don't mess this up!!!!!!!! | string |
"mainnet" |
no |
operator_keystore_password | the path to your keystore | string |
"" |
no |
operator_keystore_path | The keystore password | string |
"" |
no |
organization_city | No qualifiers | string |
"" |
no |
organization_country | This needs to be three letter country code per https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3 | string |
"" |
no |
organization_email | Needs to be real email | string |
"" |
no |
organization_name | Any string - your team name | string |
"" |
no |
organization_website | Needs to begin in https / http - can be google... | string |
"" |
no |
owner | Owner of the infrastructure | string |
"insight" |
no |
public_ip | Optional if you are registering an IP from a different network - only creates details content, leave blank and insert cloud provdier to create ip | string |
n/a | yes |
Link to social media account - https://... | string |
"" |
no | |
server_type | Link to social media account - https://... | string |
"cloud" |
no |
skip_registration | Boolean to skip executing registration command | bool |
false |
no |
stage | The stage of the deployment | string |
"blue" |
no |
static_endpoint | Endpoint to host static content | string |
n/a | yes |
steemit | Link to social media account - https://... | string |
"" |
no |
telegram | Link to social media account - https://... | string |
"" |
no |
Link to social media account - https://... | string |
"" |
no | |
Link to social media account - https://... | string |
"" |
no | |
youtube | Link to social media account - https://... | string |
"" |
no |
Name | Description |
---|---|
details_content | n/a |
details_endpoint | n/a |
network_name | n/a |
nid | n/a |
operator_keystore_password | n/a |
operator_keystore_path | n/a |
public_ip | n/a |
registration_json | n/a |
url | n/a |
This module has been packaged with terratest tests
To run them:
- Install Go
- Run
make test-init
from the root of this repo - Run
make test
again from root
Module managed by robc-io
Apache 2 Licensed. See LICENSE for full details.