diff --git a/aws/devnet/main.tf b/aws/devnet/main.tf index ab42f0bc..95e8bc4f 100644 --- a/aws/devnet/main.tf +++ b/aws/devnet/main.tf @@ -4,14 +4,14 @@ module "devnet" { network_name = "devnet" bootstrap-node-config = { instance-type = var.instance_type - deployment-version = 0 + deployment-version = 1 regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "snapshot-2023-jun-08-2" + docker-tag = "snapshot-2023-jun-22-4" reserved-only = false prune = false - genesis-hash = "8a94e770a50298516444025b8c075034f8be7745812358d25189175fe504fc66" + genesis-hash = "2e45c5cbc42f10e3faaaaa44618927ee1403a08c9625d70891ae3f2fecc35e0b" dsn-listen-port = 50000 node-dsn-port = 30433 disk-volume-size = var.disk_volume_size @@ -24,7 +24,7 @@ module "devnet" { regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "snapshot-2023-jun-08-2" + docker-tag = "snapshot-2023-jun-22-4" reserved-only = false prune = false node-dsn-port = 30433 @@ -34,11 +34,11 @@ module "devnet" { rpc-node-config = { instance-type = var.instance_type - deployment-version = 0 + deployment-version = 1 regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "snapshot-2023-jun-08-2" + docker-tag = "snapshot-2023-jun-22-4" domain-prefix = "rpc" reserved-only = false prune = false @@ -53,7 +53,7 @@ module "devnet" { regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "snapshot-2023-jun-08-2" + docker-tag = "snapshot-2023-jun-22-4" domain-prefix = "domain" reserved-only = false prune = false @@ -67,16 +67,16 @@ module "devnet" { farmer-node-config = { instance-type = var.instance_type - deployment-version = 0 + deployment-version = 1 regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "snapshot-2023-jun-08-2" + docker-tag = "snapshot-2023-jun-22-4" reserved-only = false prune = false plot-size = "10G" reward-address = var.farmer_reward_address - force-block-production = true + force-block-production = false node-dsn-port = 30433 disk-volume-size = var.disk_volume_size disk-volume-type = var.disk_volume_type diff --git a/aws/gemini-3d/main.tf b/aws/gemini-3d/main.tf index f23caf17..18929c62 100644 --- a/aws/gemini-3d/main.tf +++ b/aws/gemini-3d/main.tf @@ -8,7 +8,7 @@ module "gemini-3d" { regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "gemini-3d-2023-may-23" + docker-tag = "gemini-3d-2023-jun-14" reserved-only = false prune = false genesis-hash = "" @@ -24,7 +24,7 @@ module "gemini-3d" { regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "gemini-3d-2023-may-23" + docker-tag = "gemini-3d-2023-jun-14" reserved-only = false prune = false node-dsn-port = 30433 @@ -38,7 +38,7 @@ module "gemini-3d" { regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "gemini-3d-2023-may-23" + docker-tag = "gemini-3d-2023-jun-14" domain-prefix = "rpc" reserved-only = false prune = false @@ -53,7 +53,7 @@ module "gemini-3d" { regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "gemini-3d-2023-may-23" + docker-tag = "gemini-3d-2023-jun-14" domain-prefix = "domain" reserved-only = false prune = false @@ -71,7 +71,7 @@ module "gemini-3d" { regions = var.aws_region instance-count = var.instance_count docker-org = "subspace" - docker-tag = "gemini-3d-2023-may-23" + docker-tag = "gemini-3d-2023-jun-14" reserved-only = false prune = false plot-size = "10G" diff --git a/aws/gemini-3e/backend.tf b/aws/gemini-3e/backend.tf new file mode 100644 index 00000000..d6698aa9 --- /dev/null +++ b/aws/gemini-3e/backend.tf @@ -0,0 +1,9 @@ +terraform { + cloud { + organization = "subspace-sre" + + workspaces { + name = "gemini-3e" + } + } +} diff --git a/aws/gemini-3e/common.tf b/aws/gemini-3e/common.tf new file mode 100644 index 00000000..f3b3921e --- /dev/null +++ b/aws/gemini-3e/common.tf @@ -0,0 +1,20 @@ +variable "datadog_api_key" { + description = "Datadog API Key" +} + +variable "cloudflare_email" { + type = string + description = "cloudflare email address" +} + +variable "cloudflare_api_token" { + type = string + description = "cloudflare api token" +} + +variable "netdata_token" { + default = "" + type = string + sensitive = true + +} diff --git a/aws/gemini-3e/main.tf b/aws/gemini-3e/main.tf new file mode 100644 index 00000000..77242d2e --- /dev/null +++ b/aws/gemini-3e/main.tf @@ -0,0 +1,92 @@ +module "gemini-3e" { + source = "../network-primitives" + path_to_scripts = "../network-primitives/scripts" + network_name = "gemini-3e" + bootstrap-node-config = { + instance-type = var.instance_type + deployment-version = 0 + regions = var.aws_region + instance-count = var.instance_count + docker-org = "subspace" + docker-tag = "gemini-3e-2023-jun-26" + reserved-only = false + prune = false + genesis-hash = "" + dsn-listen-port = 50000 + node-dsn-port = 30433 + disk-volume-size = var.disk_volume_size + disk-volume-type = var.disk_volume_type + } + + full-node-config = { + instance-type = var.instance_type + deployment-version = 0 + regions = var.aws_region + instance-count = var.instance_count + docker-org = "subspace" + docker-tag = "gemini-3e-2023-jun-26" + reserved-only = false + prune = false + node-dsn-port = 30433 + disk-volume-size = var.disk_volume_size + disk-volume-type = var.disk_volume_type + } + + rpc-node-config = { + instance-type = var.instance_type + deployment-version = 0 + regions = var.aws_region + instance-count = var.instance_count + docker-org = "subspace" + docker-tag = "gemini-3e-2023-jun-26" + domain-prefix = "rpc" + reserved-only = false + prune = false + node-dsn-port = 30433 + disk-volume-size = var.disk_volume_size + disk-volume-type = var.disk_volume_type + } + + domain-node-config = { + instance-type = var.instance_type + deployment-version = 0 + regions = var.aws_region + instance-count = var.instance_count + docker-org = "subspace" + docker-tag = "gemini-3e-2023-jun-26" + domain-prefix = "domain" + reserved-only = false + prune = false + node-dsn-port = 30434 + enable-domains = true + domain-id = var.domain_id + domain-labels = var.domain_labels + disk-volume-size = var.disk_volume_size + disk-volume-type = var.disk_volume_type + } + + farmer-node-config = { + instance-type = var.instance_type + deployment-version = 0 + regions = var.aws_region + instance-count = var.instance_count + docker-org = "subspace" + docker-tag = "gemini-3e-2023-jun-26" + reserved-only = false + prune = false + plot-size = "10G" + reward-address = var.farmer_reward_address + force-block-production = false + node-dsn-port = 30433 + disk-volume-size = var.disk_volume_size + disk-volume-type = var.disk_volume_type + + } + + cloudflare_api_token = var.cloudflare_api_token + cloudflare_email = var.cloudflare_email + datadog_api_key = var.datadog_api_key + access_key = var.access_key + secret_key = var.secret_key + +} diff --git a/aws/gemini-3e/outputs.tf b/aws/gemini-3e/outputs.tf new file mode 100644 index 00000000..83c0bc95 --- /dev/null +++ b/aws/gemini-3e/outputs.tf @@ -0,0 +1,20 @@ +//output +output "full-node-ipv4-addresses" { + value = module.gemini-3d.full_node_public_ip + description = "Full node IPv4 Addresses" +} + +output "farmer-node-ipv4-addresses" { + value = module.gemini-3d.farmer_node_public_ip + description = "Farmer node IPv4 Addresses" +} + +output "bootstrap-node-ipv4-addresses" { + value = module.gemini-3d.bootstrap_node_public_ip + description = "Bootstrap node IPv4 Addresses" +} + +output "domain-node-ipv4-addresses" { + value = module.gemini-3d.domain_node_public_ip + description = "Domain node IPv4 Addresses" +} diff --git a/aws/gemini-3e/terrafrom.tfvars.example b/aws/gemini-3e/terrafrom.tfvars.example new file mode 100644 index 00000000..9b482041 --- /dev/null +++ b/aws/gemini-3e/terrafrom.tfvars.example @@ -0,0 +1,16 @@ +# AWS access key used to create infrastructure +access_key = "" +# AWS secret key used to create AWS infrastructure +secret_key = "" +aws_key_name = "deployer" +ssh_user = "ubuntu" +instance_type = "m6a.xlarge" +instance_count = 1 +disk_volume_size = 200 +private_key_path = "~/.ssh/deployer.pem" +aws_region = ["us-east-1"] +azs = ["us-east-1a"] +cloudflare_email = "" +cloudflare_api_token = "" +datadog_api_key = "" +farmer_reward_address = "" diff --git a/aws/gemini-3e/variables.tf b/aws/gemini-3e/variables.tf new file mode 100644 index 00000000..192df4d7 --- /dev/null +++ b/aws/gemini-3e/variables.tf @@ -0,0 +1,89 @@ +variable "farmer_reward_address" { + description = "Farmer's reward address" + type = string +} + +variable "domain_id" { + description = "Domain ID" + type = list(number) + default = [1, 2, 3] +} + +variable "domain_labels" { + description = "Tag of the domain to run" + type = list(string) + default = ["system", "payments", "evm"] +} + +variable "instance_type" { + default = "m6a.xlarge" + type = string +} + +variable "vpc_id" { + default = "default" + type = string +} + +variable "azs" { + type = list(string) + description = "Availability Zones" + default = ["us-east-1a", "us-east-1b"] +} + +variable "instance_count" { + type = number + default = 1 +} + +variable "aws_region" { + description = "aws region" + type = list(string) + default = ["us-east-1"] +} + +variable "public_subnet_cidrs" { + type = list(string) + description = "Public Subnet CIDR values" + default = ["172.31.3.0/24"] +} + +variable "private_subnet_cidrs" { + type = list(string) + description = "Private Subnet CIDR values" + default = ["172.31.4.0/24"] +} + +variable "disk_volume_size" { + type = number +} + +variable "disk_volume_type" { + type = string + default = "gp3" +} + +variable "secret_key" { + type = string + sensitive = true +} + +variable "access_key" { + type = string + sensitive = true +} + +variable "aws_key_name" { + default = "deployer" + type = string +} + +variable "ssh_user" { + default = "ubuntu" + type = string +} + +variable "private_key_path" { + type = string + default = "~/.ssh/deployer.pem" +} diff --git a/aws/network-primitives/domain_node_provisioner.tf b/aws/network-primitives/domain_node_provisioner.tf index d2d44276..f90c9580 100644 --- a/aws/network-primitives/domain_node_provisioner.tf +++ b/aws/network-primitives/domain_node_provisioner.tf @@ -188,7 +188,7 @@ resource "null_resource" "inject-domain-keystore" { provisioner "remote-exec" { inline = [ - "sudo docker cp ~/subspace/keystore/. subspace-archival-node-1:/var~/subspace/keystore/" + "sudo docker cp ~/subspace/keystore/. subspace-archival-node-1:/var/subspace/keystore/" ] } } diff --git a/aws/network-primitives/rpc_node_provisioner.tf b/aws/network-primitives/rpc_node_provisioner.tf index de3e05c2..c2b7cb72 100644 --- a/aws/network-primitives/rpc_node_provisioner.tf +++ b/aws/network-primitives/rpc_node_provisioner.tf @@ -184,7 +184,7 @@ resource "null_resource" "inject-keystore" { provisioner "remote-exec" { inline = [ - "sudo docker cp ~/subspace/keystore/. subspace-archival-node-1:/var~/subspace/keystore/" + "sudo docker cp ~/subspace/keystore/. subspace-archival-node-1:/var/subspace/keystore/" ] } } diff --git a/aws/network-primitives/scripts/create_domain_node_compose_file.sh b/aws/network-primitives/scripts/create_domain_node_compose_file.sh index d20b8b77..c2f4155a 100755 --- a/aws/network-primitives/scripts/create_domain_node_compose_file.sh +++ b/aws/network-primitives/scripts/create_domain_node_compose_file.sh @@ -43,16 +43,9 @@ services: - "30333:30333" - "\${NODE_DSN_PORT}:30433" labels: - caddy_0: \${DOMAIN_PREFIX}-\${NODE_ID}.system.\${NETWORK_NAME}.subspace.network + caddy_0: \${DOMAIN_PREFIX}-\${NODE_ID}.\${DOMAIN_LABEL}.\${NETWORK_NAME}.subspace.network caddy_0.handle_path_0: /http caddy_0.handle_path_0.reverse_proxy: "{{upstreams 8933}}" - caddy_0.handle_path_1: /ws - caddy_0.handle_path_1.reverse_proxy: "{{upstreams 8944}}" - caddy_1: \${DOMAIN_PREFIX}-\${NODE_ID}.\${DOMAIN_LABEL}.\${NETWORK_NAME}.subspace.network - caddy_1.handle_path_0: /http - caddy_1.handle_path_0.reverse_proxy: "{{upstreams 7933}}" - caddy_1.handle_path_1: /ws - caddy_1.handle_path_1.reverse_proxy: "{{upstreams 7944}}" command: [ "--chain", \$NETWORK_NAME, "--base-path", "/var/subspace", @@ -60,18 +53,16 @@ services: "--state-pruning", "archive", "--blocks-pruning", "archive", "--listen-addr", "/ip4/0.0.0.0/tcp/30333", - "--no-private-ipv4", "--dsn-disable-private-ips", "--piece-cache-size", \$PIECE_CACHE_SIZE, "--node-key", \$NODE_KEY, "--rpc-cors", "all", "--rpc-port", "9933", - "--ws-port", "9944", - "--ws-external", + "--rpc-external", "--in-peers", "500", "--out-peers", "250", "--in-peers-light", "500", - "--ws-max-connections", "10000", + "--rpc-max-connections", "10000", EOF reserved_only=${1} @@ -107,21 +98,6 @@ fi if [ ${enable_domains} == true ]; then { - # system domain - echo ' "--",' - echo ' "--chain=${NETWORK_NAME}",' - echo ' "--validator",' - echo ' "--state-pruning", "archive",' - echo ' "--blocks-pruning", "archive",' - echo ' "--base-path", "/var/subspace/system_domain",' - echo ' "--keystore-path", "/var/subspace/keystore",' - echo ' "--rpc-cors", "all",' - echo ' "--rpc-port", "8933",' - echo ' "--ws-port", "8944",' - echo ' "--no-private-ipv4",' - echo ' "--unsafe-ws-external",' - echo ' "--relayer-id=${RELAYER_SYSTEM_ID}",' - # core domain echo ' "--",' echo ' "--chain=${NETWORK_NAME}",' @@ -132,10 +108,8 @@ if [ ${enable_domains} == true ]; then echo ' "--base-path", "/var/subspace/core_${DOMAIN_LABEL}_domain",' echo ' "--keystore-path", "/var/subspace/keystore",' echo ' "--rpc-cors", "all",' - echo ' "--rpc-port", "7933",' - echo ' "--ws-port", "7944",' - echo ' "--no-private-ipv4",' - echo ' "--unsafe-ws-external",' + echo ' "--rpc-port", "8933",' + echo ' "--unsafe-rpc-external",' echo ' "--relayer-id=${RELAYER_DOMAIN_ID}",' } >> ~/subspace/docker-compose.yml diff --git a/aws/network-primitives/scripts/create_farmer_node_compose_file.sh b/aws/network-primitives/scripts/create_farmer_node_compose_file.sh index 56b19e45..a6442edf 100755 --- a/aws/network-primitives/scripts/create_farmer_node_compose_file.sh +++ b/aws/network-primitives/scripts/create_farmer_node_compose_file.sh @@ -57,7 +57,6 @@ services: "--listen-addr", "/ip4/0.0.0.0/tcp/30333", "--dsn-disable-private-ips", "--piece-cache-size", \$PIECE_CACHE_SIZE, - "--no-private-ipv4", "--node-key", \$NODE_KEY, "--validator", "--rpc-cors", "all", diff --git a/aws/network-primitives/scripts/create_full_node_compose_file.sh b/aws/network-primitives/scripts/create_full_node_compose_file.sh index e5c793aa..83280be0 100755 --- a/aws/network-primitives/scripts/create_full_node_compose_file.sh +++ b/aws/network-primitives/scripts/create_full_node_compose_file.sh @@ -37,7 +37,6 @@ services: "--listen-addr", "/ip4/0.0.0.0/tcp/30333", "--dsn-disable-private-ips", "--piece-cache-size", \$PIECE_CACHE_SIZE, - "--no-private-ipv4", "--node-key", \$NODE_KEY, "--in-peers", "1000", "--out-peers", "1000", @@ -46,7 +45,7 @@ services: "--dsn-pending-in-connections", "1000", "--dsn-pending-out-connections", "1000", "--in-peers-light", "500", - "--ws-max-connections", "10000", + "--rpc-max-connections", "10000", EOF reserved_only=${1} diff --git a/aws/network-primitives/scripts/create_rpc_node_compose_file.sh b/aws/network-primitives/scripts/create_rpc_node_compose_file.sh index eb02cb2d..504511a0 100755 --- a/aws/network-primitives/scripts/create_rpc_node_compose_file.sh +++ b/aws/network-primitives/scripts/create_rpc_node_compose_file.sh @@ -55,18 +55,16 @@ services: "--state-pruning", "archive", "--blocks-pruning", "archive", "--listen-addr", "/ip4/0.0.0.0/tcp/30333", - "--no-private-ipv4", "--dsn-disable-private-ips", "--piece-cache-size", \$PIECE_CACHE_SIZE, "--node-key", \$NODE_KEY, "--rpc-cors", "all", "--rpc-port", "9933", - "--ws-port", "9944", - "--ws-external", + "--rpc-external", "--in-peers", "500", "--out-peers", "250", "--in-peers-light", "500", - "--ws-max-connections", "10000", + "--rpc-max-connections", "10000", EOF reserved_only=${1}