This module sets up single node deployments for polkadot, but can also be used to deploy nodes in a multi-node configuration. Options include validator, API, and source of truth nodes.
module "network" {
source = "github.com/insight-infrastructure/terraform-aws-polkadot-network.git?ref=master"
sentry_enabled = true
num_azs = 1
}
module "default" {
source = "../.."
public_key = var.public_key
subnet_id = module.network.public_subnets[0]
security_group_id = module.network.sentry_security_group_id
private_key_path = var.private_key_path
create_ansible = var.create_ansible
}
No issue is creating limit on this module.
No requirements.
Name | Version |
---|---|
aws | n/a |
random | n/a |
Name | Description | Type | Default | Required |
---|---|---|---|---|
base_path | Alternate base path for Polkadot client | string |
"" |
no |
chain | Which Polkadot chain to join | string |
"polkadot" |
no |
chain_stub | Short-name of the Polkadot chain to join, i.e. kusama = ksmm3, polkadot = polkadot. | string |
"polkadot" |
no |
consul_enabled | Bool to enable Consul | bool |
true |
no |
create | Boolean to make module or not | bool |
true |
no |
create_ansible | Boolean to make module or not | bool |
true |
no |
default_telemetry_enabled | Bool to enable telemetry submission to telemetry.polkadot.io | bool |
false |
no |
environment | The environment | string |
"" |
no |
health_check_enabled | Bool to enable client health check agent | bool |
true |
no |
health_check_port | Port number for the health check | string |
"5500" |
no |
instance_count | Iteration number for this instance | string |
"0" |
no |
instance_type | Instance type | string |
"t2.micro" |
no |
key_name | The name of the preexisting key to be used instead of the local public_key_path | string |
"" |
no |
logging_filter | String for polkadot logging filter | string |
"sync=trace,afg=trace,babe=debug" |
no |
monitoring | Boolean for cloudwatch | bool |
false |
no |
mount_volumes | Bool to enable non-root volume mounting | bool |
false |
no |
name | The name of the deployment | string |
"polkadot-api" |
no |
namespace | The namespace to deploy into | string |
"" |
no |
network_name | The network name, ie kusama / mainnet | string |
"" |
no |
network_settings | Map of network settings to apply. Use either this or set individual variables. | map(map(string)) |
null |
no |
network_stub | The stub name of the Polkadot chain (polkadot = polkadot, kusama = ksmcc3) | string |
"ksmcc3" |
no |
node_exporter_enabled | Bool to enable node exporter | bool |
true |
no |
node_exporter_hash | SHA256 hash of Node Exporter binary | string |
"b2503fd932f85f4e5baf161268854bf5d22001869b84f00fd2d1f57b51b72424" |
no |
node_exporter_password | Password for node exporter | string |
"node_exporter_password" |
no |
node_exporter_url | URL to Node Exporter binary | string |
"https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz" |
no |
node_exporter_user | User for node exporter | string |
"node_exporter_user" |
no |
node_name | Name of the node | string |
"" |
no |
node_purpose | What type of node are you deploying? (validator/library/truth) | string |
"library" |
no |
owner | Owner of the infrastructure | string |
"" |
no |
polkadot_additional_common_flags | Optional common flags for Polkadot client | string |
"" |
no |
polkadot_additional_validator_flags | Optional validator flags for Polkadot client | string |
"" |
no |
polkadot_client_hash | SHA256 hash of Polkadot client binary | string |
"cdf31d39ed54e66489d1afe74ed7549d5bcdf8ff479759e8fc476d17d069901e" |
no |
polkadot_client_url | URL to Polkadot client binary | string |
"https://github.com/w3f/polkadot/releases/download/v0.8.23/polkadot" |
no |
polkadot_prometheus_port | Port number for the Prometheus Metrics exporter built into the Polkadot client | string |
"9610" |
no |
polkadot_restart_day | Client cron restart day | string |
"" |
no |
polkadot_restart_enabled | Bool to enable client restart cron job | bool |
false |
no |
polkadot_restart_hour | Client cron restart hour | string |
"" |
no |
polkadot_restart_minute | Client cron restart minute | string |
"" |
no |
polkadot_restart_month | Client cron restart month | string |
"" |
no |
polkadot_restart_weekday | Client cron restart weekday | string |
"" |
no |
private_key_path | Path to private key | string |
"" |
no |
project | Name of the project for node name | string |
"project" |
no |
public_key | The public ssh key. key_name takes precidence | string |
"" |
no |
root_volume_size | Root volume size | string |
0 |
no |
rpc_api_port | Port number for the JSON RPC API | string |
"9933" |
no |
security_group_id | The id of the security group to run in | string |
n/a | yes |
source_of_truth_enabled | Bool to enable SoT sync (for use with library nodes) | bool |
false |
no |
ssh_user | Username for SSH | string |
"ubuntu" |
no |
stage | The stage of the deployment | string |
"" |
no |
storage_driver_type | Type of EBS storage the instance is using (nitro/standard) | string |
"standard" |
no |
subnet_id | The id of the subnet. | string |
"" |
no |
sync_aws_access_key_id | AWS access key ID for SoT sync | string |
"" |
no |
sync_aws_secret_access_key | AWS access key for SoT sync | string |
"" |
no |
sync_bucket_uri | S3 bucket URI for SoT sync | string |
null |
no |
sync_region | AWS region for SoT sync | string |
"" |
no |
telemetry_url | WSS URL for telemetry | string |
"" |
no |
wss_api_port | Port number for the Websockets API | string |
"9944" |
no |
Name | Description |
---|---|
instance_id | n/a |
private_ip | n/a |
public_ip | n/a |
reader_aws_access_key_id | n/a |
reader_aws_secret_access_key | n/a |
security_group_id | n/a |
subnet_id | n/a |
sync_aws_access_key_id | n/a |
sync_aws_secret_access_key | n/a |
sync_bucket_uri | n/a |
user_data | n/a |
Module managed by robc-io
Apache 2 Licensed. See LICENSE for full details.