Skip to content

Base registration module to be used by many providers for the ICON Blockchain

License

Notifications You must be signed in to change notification settings

insight-icon/terraform-icon-registration

Repository files navigation

terraform-icon-registration

Features

This module helps with registering a node on the ICON Blockchain. It is meant to be used by the following cloud specific registration modules:

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

Using this module

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]

Terraform Versions

For Terraform v0.12.0+

Usage

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
}

Examples

Known Issues

No issue is creating limit on this module.

Providers

Name Version
external n/a
local n/a
template n/a

Inputs

Name Description Type Default Required
environment The environment string "dev" no
facebook 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
reddit 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
twitter Link to social media account - https://... string "" no
wechat Link to social media account - https://... string "" no
youtube Link to social media account - https://... string "" no

Outputs

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

Testing

This module has been packaged with terratest tests

To run them:

  1. Install Go
  2. Run make test-init from the root of this repo
  3. Run make test again from root

Authors

Module managed by robc-io

Credits

License

Apache 2 Licensed. See LICENSE for full details.

About

Base registration module to be used by many providers for the ICON Blockchain

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published