diff --git a/resources/terraform/devnet/main.tf b/resources/terraform/devnet/main.tf index e2b78947..bce67eba 100644 --- a/resources/terraform/devnet/main.tf +++ b/resources/terraform/devnet/main.tf @@ -69,14 +69,14 @@ module "devnet" { disk-volume-type = var.disk_volume_type } - nova-indexer-node-config = { - instance-type = var.instance_type["nova-indexer"] + auto-evm-indexer-node-config = { + instance-type = var.instance_type["auto-evm-indexer"] deployment-version = 0 regions = var.aws_region - instance-count = var.instance_count["nova-indexer"] + instance-count = var.instance_count["auto-evm-indexer"] docker-org = "autonomys" docker-tag = "mainnet-2024-nov-18" - domain-prefix = "nova-indexer" + domain-prefix = "auto-evm-indexer" reserved-only = false prune = false node-dsn-port = 30433 @@ -109,7 +109,7 @@ module "devnet" { instance-count = var.instance_count["domain"] docker-org = "autonomys" docker-tag = "mainnet-2024-nov-18" - domain-prefix = ["nova", "autoid"] + domain-prefix = ["auto-evm", "autoid"] reserved-only = false prune = false node-dsn-port = 30433 @@ -142,6 +142,7 @@ module "devnet" { cloudflare_api_token = var.cloudflare_api_token cloudflare_email = var.cloudflare_email + cloudflare_zone_id = var.cloudflare_zone_id nr_api_key = var.nr_api_key access_key = var.access_key secret_key = var.secret_key diff --git a/resources/terraform/devnet/outputs.tf b/resources/terraform/devnet/outputs.tf index 1f762771..ce183046 100644 --- a/resources/terraform/devnet/outputs.tf +++ b/resources/terraform/devnet/outputs.tf @@ -4,9 +4,9 @@ output "rpc-indexer-node-ipv4-addresses" { description = "RPC indexer node IPv4 Addresses" } -output "nova-indexer-node-ipv4-addresses" { - value = module.devnet.nova_indexer_node_public_ip - description = "Nova indexer node IPv4 Addresses" +output "auto-evm-indexer-node-ipv4-addresses" { + value = module.devnet.auto_evm_indexer_node_public_ip + description = "Auto EVM indexer node IPv4 Addresses" } output "farmer-node-ipv4-addresses" { diff --git a/resources/terraform/devnet/terrafrom.tfvars.example b/resources/terraform/devnet/terraform.tfvars.example similarity index 100% rename from resources/terraform/devnet/terrafrom.tfvars.example rename to resources/terraform/devnet/terraform.tfvars.example diff --git a/resources/terraform/devnet/variables.tf b/resources/terraform/devnet/variables.tf index 41c9a4c7..d954d3e6 100644 --- a/resources/terraform/devnet/variables.tf +++ b/resources/terraform/devnet/variables.tf @@ -4,6 +4,12 @@ variable "network_name" { default = "devnet" } + +variable "cloudflare_zone_id" { + description = "Cloudflare zone ID" + type = string +} + variable "farmer_reward_address" { description = "Farmer's reward address" type = string @@ -20,20 +26,20 @@ variable "domain_id" { variable "domain_labels" { description = "Tag of the domain to run" type = list(string) - default = ["nova", "autoid"] + default = ["auto-evm", "autoid"] } variable "instance_type" { type = map(string) default = { - bootstrap = "m6a.xlarge" - rpc = "m6a.xlarge" - domain = "m6a.xlarge" - rpc-indexer = "m6a.xlarge" - nova-indexer = "m6a.xlarge" - farmer = "m6a.xlarge" - evm_bootstrap = "m6a.xlarge" - autoid_bootstrap = "m6a.xlarge" + bootstrap = "m7a.xlarge" + rpc = "m7a.xlarge" + domain = "m7a.xlarge" + rpc-indexer = "m7a.xlarge" + auto-evm-indexer = "m7a.xlarge" + farmer = "c7a.2xlarge" + evm_bootstrap = "m7a.xlarge" + autoid_bootstrap = "m7a.xlarge" } } @@ -59,8 +65,8 @@ variable "instance_count" { rpc = 2 domain = 0 autoid = 0 - rpc-indexer = 1 - nova-indexer = 0 + rpc-indexer = 0 + auto-evm-indexer = 0 farmer = 1 evm_bootstrap = 0 autoid_bootstrap = 0 diff --git a/resources/terraform/mainnet/main.tf b/resources/terraform/mainnet/main.tf index 1175f6bf..e5887cda 100644 --- a/resources/terraform/mainnet/main.tf +++ b/resources/terraform/mainnet/main.tf @@ -69,11 +69,11 @@ module "mainnet" { disk-volume-type = var.disk_volume_type } - nova-indexer-node-config = { - instance-type = var.instance_type["nova-indexer"] + auto-evm-indexer-node-config = { + instance-type = var.instance_type["auto-evm-indexer"] deployment-version = 0 regions = var.aws_region - instance-count = var.instance_count["nova-indexer"] + instance-count = var.instance_count["auto-evm-indexer"] docker-org = "autonomys" docker-tag = "mainnet-2025-jan-14" domain-prefix = "auto-evm-indexer" diff --git a/resources/terraform/mainnet/outputs.tf b/resources/terraform/mainnet/outputs.tf index db17f652..c1c67619 100644 --- a/resources/terraform/mainnet/outputs.tf +++ b/resources/terraform/mainnet/outputs.tf @@ -4,8 +4,8 @@ output "rpc-indexer-node-ipv4-addresses" { description = "RPC indexer node IPv4 Addresses" } -output "nova-indexer-node-ipv4-addresses" { - value = module.mainnet.nova_indexer_node_public_ip +output "auto-evm-indexer-node-ipv4-addresses" { + value = module.mainnet.auto_evm_indexer_node_public_ip description = "Nova indexer node IPv4 Addresses" } diff --git a/resources/terraform/mainnet/terrafrom.tfvars.example b/resources/terraform/mainnet/terraform.tfvars.example similarity index 100% rename from resources/terraform/mainnet/terrafrom.tfvars.example rename to resources/terraform/mainnet/terraform.tfvars.example diff --git a/resources/terraform/mainnet/variables.tf b/resources/terraform/mainnet/variables.tf index 65c9f9a3..07fc741a 100644 --- a/resources/terraform/mainnet/variables.tf +++ b/resources/terraform/mainnet/variables.tf @@ -30,7 +30,7 @@ variable "instance_type" { rpc = "m7a.2xlarge" domain = "m7a.2xlarge" rpc-indexer = "c7a.4xlarge" - nova-indexer = "c7a.4xlarge" + auto-evm-indexer = "c7a.4xlarge" farmer = "c7a.2xlarge" evm_bootstrap = "c7a.xlarge" autoid_bootstrap = "c7a.xlarge" @@ -59,7 +59,7 @@ variable "instance_count" { rpc = 2 domain = 2 rpc-indexer = 1 - nova-indexer = 0 + auto-evm-indexer = 0 farmer = 1 evm_bootstrap = 0 autoid_bootstrap = 0 diff --git a/resources/terraform/taurus/main.tf b/resources/terraform/taurus/main.tf index 95eb1610..35fa659e 100644 --- a/resources/terraform/taurus/main.tf +++ b/resources/terraform/taurus/main.tf @@ -69,11 +69,11 @@ module "taurus" { disk-volume-type = var.disk_volume_type } - nova-indexer-node-config = { - instance-type = var.instance_type["nova-indexer"] + auto-evm-indexer-node-config = { + instance-type = var.instance_type["auto-evm-indexer"] deployment-version = 0 regions = var.aws_region - instance-count = var.instance_count["nova-indexer"] + instance-count = var.instance_count["auto-evm-indexer"] docker-org = "autonomys" docker-tag = "taurus-2025-may-27" domain-prefix = "auto-evm-indexer" diff --git a/resources/terraform/taurus/outputs.tf b/resources/terraform/taurus/outputs.tf index 618e5501..ef36e298 100644 --- a/resources/terraform/taurus/outputs.tf +++ b/resources/terraform/taurus/outputs.tf @@ -4,8 +4,8 @@ output "rpc-indexer-node-ipv4-addresses" { description = "RPC indexer node IPv4 Addresses" } -output "nova-indexer-node-ipv4-addresses" { - value = module.taurus.nova_indexer_node_public_ip +output "auto-evm-indexer-node-ipv4-addresses" { + value = module.taurus.auto_evm_indexer_node_public_ip description = "Nova indexer node IPv4 Addresses" } diff --git a/resources/terraform/taurus/terrafrom.tfvars.example b/resources/terraform/taurus/terraform.tfvars.example similarity index 100% rename from resources/terraform/taurus/terrafrom.tfvars.example rename to resources/terraform/taurus/terraform.tfvars.example diff --git a/resources/terraform/taurus/variables.tf b/resources/terraform/taurus/variables.tf index 8f07226e..dbe63830 100644 --- a/resources/terraform/taurus/variables.tf +++ b/resources/terraform/taurus/variables.tf @@ -30,7 +30,7 @@ variable "instance_type" { rpc = "m7a.2xlarge" domain = "m7a.2xlarge" rpc-indexer = "c7a.4xlarge" - nova-indexer = "c7a.4xlarge" + auto-evm-indexer = "c7a.4xlarge" farmer = "c7a.2xlarge" evm_bootstrap = "m7a.xlarge" autoid_bootstrap = "m7a.xlarge" @@ -60,7 +60,7 @@ variable "instance_count" { domain = 0 autoid = 0 rpc-indexer = 1 - nova-indexer = 0 + auto-evm-indexer = 0 farmer = 1 evm_bootstrap = 0 autoid_bootstrap = 0 diff --git a/templates/terraform/network-primitives/dns.tf b/templates/terraform/network-primitives/dns.tf index 6182c3d7..d9f655f4 100644 --- a/templates/terraform/network-primitives/dns.tf +++ b/templates/terraform/network-primitives/dns.tf @@ -1,13 +1,14 @@ data "cloudflare_zone" "cloudflare_zone" { - name = "subspace.network" + zone_id = var.cloudflare_zone_id } + locals { # Calculate the split point instance_split = var.domain-node-config.instance-count / 2 - # Create explicit mappings for nova and autoid instances - nova_instances = { + # Create explicit mappings for auto_evm and autoid instances + auto_evm_instances = { for idx in range(0, local.instance_split) : idx => { ip_v4 = local.evm_nodes_ip_v4[idx] ip_v6 = local.evm_nodes_ip_v6[idx] @@ -22,106 +23,132 @@ locals { } } -resource "cloudflare_record" "rpc" { +resource "cloudflare_dns_record" "rpc" { count = length(local.rpc_nodes_ip_v4) - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "${var.rpc-node-config.domain-prefix}-${count.index}.${var.network_name}" - value = local.rpc_nodes_ip_v4[count.index] + content = local.rpc_nodes_ip_v4[count.index] type = "A" + ttl = 3600 + proxied = true } -resource "cloudflare_record" "nova" { - for_each = local.nova_instances - zone_id = data.cloudflare_zone.cloudflare_zone.id +resource "cloudflare_dns_record" "auto_evm" { + for_each = local.auto_evm_instances + zone_id = var.cloudflare_zone_id name = "${var.domain-node-config.domain-prefix[0]}-${each.key}.${var.network_name}" - value = each.value.ip_v4 + content = each.value.ip_v4 type = "A" + ttl = 3600 + proxied = true } -resource "cloudflare_record" "nova_ipv6" { - for_each = local.nova_instances - zone_id = data.cloudflare_zone.cloudflare_zone.id +resource "cloudflare_dns_record" "auto_evm_ipv6" { + for_each = local.auto_evm_instances + zone_id = var.cloudflare_zone_id name = "${var.domain-node-config.domain-prefix[0]}-${each.key}.${var.network_name}" - value = each.value.ip_v6 + content = each.value.ip_v6 type = "AAAA" + ttl = 3600 + proxied = true } -resource "cloudflare_record" "rpc-indexer" { +resource "cloudflare_dns_record" "rpc-indexer" { count = length(local.rpc_indexer_nodes_ip_v4) - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "${var.rpc-indexer-node-config.domain-prefix}-${count.index}.${var.network_name}" - value = local.rpc_indexer_nodes_ip_v4[count.index] + content = local.rpc_indexer_nodes_ip_v4[count.index] type = "A" + ttl = 3600 + proxied = false } -resource "cloudflare_record" "nova-indexer-rpc" { - count = length(local.nova_indexer_nodes_ip_v4) - zone_id = data.cloudflare_zone.cloudflare_zone.id - name = "${var.nova-indexer-node-config.domain-prefix}-${count.index}.${var.network_name}" - value = local.nova_indexer_nodes_ip_v4[count.index] +resource "cloudflare_dns_record" "auto-evm-indexer-rpc" { + count = length(local.auto_evm_indexer_nodes_ip_v4) + zone_id = var.cloudflare_zone_id + name = "${var.auto-evm-indexer-node-config.domain-prefix}-${count.index}.${var.network_name}" + content = local.auto_evm_indexer_nodes_ip_v4[count.index] type = "A" + ttl = 3600 + proxied = false } -resource "cloudflare_record" "autoid" { +resource "cloudflare_dns_record" "autoid" { for_each = local.autoid_instances - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "${var.domain-node-config.domain-prefix[1]}-${each.key}.${var.network_name}" - value = each.value.ip_v4 + content = each.value.ip_v4 type = "A" + ttl = 3600 + proxied = true } -resource "cloudflare_record" "autoid_ipv6" { +resource "cloudflare_dns_record" "autoid_ipv6" { for_each = local.autoid_instances - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "${var.domain-node-config.domain-prefix[1]}-${each.key}.${var.network_name}" - value = each.value.ip_v6 + content = each.value.ip_v6 type = "AAAA" + ttl = 3600 + proxied = true } -resource "cloudflare_record" "bootstrap" { +resource "cloudflare_dns_record" "bootstrap" { count = length(local.bootstrap_nodes_ip_v4) - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "bootstrap-${count.index}.${var.network_name}" - value = local.bootstrap_nodes_ip_v4[count.index] + content = local.bootstrap_nodes_ip_v4[count.index] type = "A" + ttl = 3600 + proxied = false } -resource "cloudflare_record" "bootstrap_ipv6" { +resource "cloudflare_dns_record" "bootstrap_ipv6" { count = length(local.bootstrap_nodes_ip_v4) - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "bootstrap-${count.index}.${var.network_name}" - value = local.bootstrap_nodes_ip_v6[count.index] + content = local.bootstrap_nodes_ip_v6[count.index] type = "AAAA" + ttl = 3600 + proxied = false } -resource "cloudflare_record" "bootstrap_evm" { +resource "cloudflare_dns_record" "bootstrap_evm" { count = length(local.bootstrap_nodes_evm_ip_v4) - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "bootstrap-${count.index}.${var.domain-node-config.domain-prefix[0]}.${var.network_name}" - value = local.bootstrap_nodes_evm_ip_v4[count.index] + content = local.bootstrap_nodes_evm_ip_v4[count.index] type = "A" + ttl = 3600 + proxied = false } -resource "cloudflare_record" "bootstrap_evm_ipv6" { +resource "cloudflare_dns_record" "bootstrap_evm_ipv6" { count = length(local.bootstrap_nodes_evm_ip_v4) - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "bootstrap-${count.index}.${var.domain-node-config.domain-prefix[0]}.${var.network_name}" - value = local.bootstrap_nodes_evm_ip_v6[count.index] + content = local.bootstrap_nodes_evm_ip_v6[count.index] type = "AAAA" + ttl = 3600 + proxied = false } -resource "cloudflare_record" "bootstrap_auto" { +resource "cloudflare_dns_record" "bootstrap_auto" { count = length(local.bootstrap_nodes_autoid_ip_v4) - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "bootstrap-${count.index}.${var.domain-node-config.domain-prefix[1]}.${var.network_name}" - value = local.bootstrap_nodes_autoid_ip_v4[count.index] + content = local.bootstrap_nodes_autoid_ip_v4[count.index] type = "A" + ttl = 3600 + proxied = false } -resource "cloudflare_record" "bootstrap_auto_ipv6" { +resource "cloudflare_dns_record" "bootstrap_auto_ipv6" { count = length(local.bootstrap_nodes_autoid_ip_v4) - zone_id = data.cloudflare_zone.cloudflare_zone.id + zone_id = var.cloudflare_zone_id name = "bootstrap-${count.index}.${var.domain-node-config.domain-prefix[1]}.${var.network_name}" - value = local.bootstrap_nodes_autoid_ip_v6[count.index] + content = local.bootstrap_nodes_autoid_ip_v6[count.index] type = "AAAA" + ttl = 3600 + proxied = false } diff --git a/templates/terraform/network-primitives/nova_indexer_node_provisioner.tf b/templates/terraform/network-primitives/evm_indexer_node_provisioner.tf similarity index 63% rename from templates/terraform/network-primitives/nova_indexer_node_provisioner.tf rename to templates/terraform/network-primitives/evm_indexer_node_provisioner.tf index af25f09b..11bc6d0c 100644 --- a/templates/terraform/network-primitives/nova_indexer_node_provisioner.tf +++ b/templates/terraform/network-primitives/evm_indexer_node_provisioner.tf @@ -1,26 +1,26 @@ locals { - nova_indexer_nodes_ip_v4 = flatten([ - [aws_instance.nova_indexer_node.*.public_ip] + auto_evm_indexer_nodes_ip_v4 = flatten([ + [aws_instance.auto_evm_indexer_node.*.public_ip] ] ) - nova_indexer_nodes_ip_v6 = flatten([ - [aws_instance.nova_indexer_node.*.ipv6_addresses] + auto_evm_indexer_nodes_ip_v6 = flatten([ + [aws_instance.auto_evm_indexer_node.*.ipv6_addresses] ] ) } -resource "null_resource" "setup-nova-indexer-nodes" { - count = length(local.nova_indexer_nodes_ip_v4) +resource "null_resource" "setup-auto-evm-indexer-nodes" { + count = length(local.auto_evm_indexer_nodes_ip_v4) - depends_on = [aws_instance.nova_indexer_node] + depends_on = [aws_instance.auto_evm_indexer_node] # trigger on node ip changes triggers = { - cluster_instance_ipv4s = join(",", local.nova_indexer_nodes_ip_v4) + cluster_instance_ipv4s = join(",", local.auto_evm_indexer_nodes_ip_v4) } connection { - host = local.nova_indexer_nodes_ip_v4[count.index] + host = local.auto_evm_indexer_nodes_ip_v4[count.index] user = var.ssh_user type = "ssh" agent = true @@ -64,16 +64,16 @@ resource "null_resource" "setup-nova-indexer-nodes" { } -resource "null_resource" "prune-nova-indexer-nodes" { - count = var.nova-indexer-node-config.prune ? length(local.nova_indexer_nodes_ip_v4) : 0 - depends_on = [null_resource.setup-nova-indexer-nodes] +resource "null_resource" "prune-auto-evm-indexer-nodes" { + count = var.auto-evm-indexer-node-config.prune ? length(local.auto_evm_indexer_nodes_ip_v4) : 0 + depends_on = [null_resource.setup-auto-evm-indexer-nodes] triggers = { - prune = var.nova-indexer-node-config.prune + prune = var.auto-evm-indexer-node-config.prune } connection { - host = local.nova_indexer_nodes_ip_v4[count.index] + host = local.auto_evm_indexer_nodes_ip_v4[count.index] user = var.ssh_user type = "ssh" agent = true @@ -94,19 +94,19 @@ resource "null_resource" "prune-nova-indexer-nodes" { } } -resource "null_resource" "start-nova-indexer-nodes" { - count = length(local.nova_indexer_nodes_ip_v4) +resource "null_resource" "start-auto-evm-indexer-nodes" { + count = length(local.auto_evm_indexer_nodes_ip_v4) - depends_on = [null_resource.setup-nova-indexer-nodes] + depends_on = [null_resource.setup-auto-evm-indexer-nodes] # trigger on node deployment version change triggers = { - deployment_version = var.nova-indexer-node-config.deployment-version - reserved_only = var.nova-indexer-node-config.reserved-only + deployment_version = var.auto-evm-indexer-node-config.deployment-version + reserved_only = var.auto-evm-indexer-node-config.reserved-only } connection { - host = local.nova_indexer_nodes_ip_v4[count.index] + host = local.auto_evm_indexer_nodes_ip_v4[count.index] user = var.ssh_user type = "ssh" agent = true @@ -116,7 +116,7 @@ resource "null_resource" "start-nova-indexer-nodes" { # copy node keys file provisioner "file" { - source = "./nova_indexer_node_keys.txt" + source = "./auto_evm_indexer_node_keys.txt" destination = "/home/${var.ssh_user}/subspace/node_keys.txt" } @@ -158,24 +158,24 @@ resource "null_resource" "start-nova-indexer-nodes" { "sudo docker compose -f /home/${var.ssh_user}/subspace/docker-compose.yml down ", # set hostname - "sudo hostnamectl set-hostname ${var.network_name}-nova-indexer-node-${count.index}", + "sudo hostnamectl set-hostname ${var.network_name}-auto-evm-indexer-node-${count.index}", # create .env file - "echo NODE_ORG=${var.nova-indexer-node-config.docker-org} > /home/${var.ssh_user}/subspace/.env", - "echo DOCKER_TAG=${var.nova-indexer-node-config.docker-tag} >> /home/${var.ssh_user}/subspace/.env", + "echo NODE_ORG=${var.auto-evm-indexer-node-config.docker-org} > /home/${var.ssh_user}/subspace/.env", + "echo DOCKER_TAG=${var.auto-evm-indexer-node-config.docker-tag} >> /home/${var.ssh_user}/subspace/.env", "echo NETWORK_NAME=${var.network_name} >> /home/${var.ssh_user}/subspace/.env", - "echo DOMAIN_PREFIX=${var.nova-indexer-node-config.domain-prefix} >> /home/${var.ssh_user}/subspace/.env", + "echo DOMAIN_PREFIX=${var.auto-evm-indexer-node-config.domain-prefix} >> /home/${var.ssh_user}/subspace/.env", # //todo use a map for domain id and labels - "echo DOMAIN_LABEL=${var.nova-indexer-node-config.domain-labels[0]} >> /home/${var.ssh_user}/subspace/.env", - "echo DOMAIN_ID=${var.nova-indexer-node-config.domain-id[0]} >> /home/${var.ssh_user}/subspace/.env", + "echo DOMAIN_LABEL=${var.auto-evm-indexer-node-config.domain-labels[0]} >> /home/${var.ssh_user}/subspace/.env", + "echo DOMAIN_ID=${var.auto-evm-indexer-node-config.domain-id[0]} >> /home/${var.ssh_user}/subspace/.env", "echo NODE_ID=${count.index} >> /home/${var.ssh_user}/subspace/.env", "echo NODE_KEY=$(sed -nr 's/NODE_${count.index}_KEY=//p' /home/${var.ssh_user}/subspace/node_keys.txt) >> /home/${var.ssh_user}/subspace/.env", "echo NR_API_KEY=${var.nr_api_key} >> /home/${var.ssh_user}/subspace/.env", - "echo NODE_DSN_PORT=${var.nova-indexer-node-config.node-dsn-port} >> /home/${var.ssh_user}/subspace/.env", + "echo NODE_DSN_PORT=${var.auto-evm-indexer-node-config.node-dsn-port} >> /home/${var.ssh_user}/subspace/.env", "echo POT_EXTERNAL_ENTROPY=${var.pot_external_entropy} >> /home/${var.ssh_user}/subspace/.env", # create docker compose file - "bash /home/${var.ssh_user}/subspace/create_compose_file.sh ${var.bootstrap-node-config.reserved-only} ${length(local.nova_indexer_nodes_ip_v4)} ${count.index} ${length(local.bootstrap_nodes_ip_v4)} ${length(local.bootstrap_nodes_evm_ip_v4)} ${var.nova-indexer-node-config.enable-domains} ${var.nova-indexer-node-config.domain-id[0]}", + "bash /home/${var.ssh_user}/subspace/create_compose_file.sh ${var.bootstrap-node-config.reserved-only} ${length(local.auto_evm_indexer_nodes_ip_v4)} ${count.index} ${length(local.bootstrap_nodes_ip_v4)} ${length(local.bootstrap_nodes_evm_ip_v4)} ${var.auto-evm-indexer-node-config.enable-domains} ${var.auto-evm-indexer-node-config.domain-id[0]}", # start subspace node "sudo docker compose -f /home/${var.ssh_user}/subspace/docker-compose.yml up -d", diff --git a/templates/terraform/network-primitives/evm_node_provisioner.tf b/templates/terraform/network-primitives/evm_node_provisioner.tf index c11190ea..c1af2623 100644 --- a/templates/terraform/network-primitives/evm_node_provisioner.tf +++ b/templates/terraform/network-primitives/evm_node_provisioner.tf @@ -116,7 +116,7 @@ resource "null_resource" "start-evm-nodes" { # copy node keys file provisioner "file" { - source = "./nova_node_keys.txt" + source = "./auto_evm_node_keys.txt" destination = "/home/${var.ssh_user}/subspace/node_keys.txt" } diff --git a/templates/terraform/network-primitives/farmer_node_provisioner.tf b/templates/terraform/network-primitives/farmer_node_provisioner.tf index 2c01b455..d826f8ae 100644 --- a/templates/terraform/network-primitives/farmer_node_provisioner.tf +++ b/templates/terraform/network-primitives/farmer_node_provisioner.tf @@ -108,6 +108,7 @@ resource "null_resource" "start-farmer-nodes" { timeout = "300s" } + # comment out for devnet, as identity is not needed provisioner "file" { source = "./identity.bin" destination = "/home/${var.ssh_user}/subspace/identity.bin" diff --git a/templates/terraform/network-primitives/instances.tf b/templates/terraform/network-primitives/instances.tf index c5654705..3a111f15 100644 --- a/templates/terraform/network-primitives/instances.tf +++ b/templates/terraform/network-primitives/instances.tf @@ -253,10 +253,10 @@ resource "aws_instance" "rpc_indexer_node" { } -resource "aws_instance" "nova_indexer_node" { - count = length(var.aws_region) * var.nova-indexer-node-config.instance-count +resource "aws_instance" "auto_evm_indexer_node" { + count = length(var.aws_region) * var.auto-evm-indexer-node-config.instance-count ami = data.aws_ami.ubuntu_amd64.image_id - instance_type = var.nova-indexer-node-config.instance-type + instance_type = var.auto-evm-indexer-node-config.instance-type subnet_id = element(aws_subnet.public_subnets.*.id, 0) availability_zone = var.azs ipv6_address_count = 1 @@ -268,16 +268,16 @@ resource "aws_instance" "nova_indexer_node" { ebs_optimized = true ebs_block_device { device_name = "/dev/sda1" - volume_size = var.nova-indexer-node-config.disk-volume-size - volume_type = var.nova-indexer-node-config.disk-volume-type + volume_size = var.auto-evm-indexer-node-config.disk-volume-size + volume_type = var.auto-evm-indexer-node-config.disk-volume-type iops = 3000 throughput = 250 } tags = { - Name = "${var.network_name}-nova-indexer-${count.index}" - name = "${var.network_name}-nova-indexer-${count.index}" - role = "nova-indexer node" + Name = "${var.network_name}-auto-evm-indexer-${count.index}" + name = "${var.network_name}-auto-evm-indexer-${count.index}" + role = "auto-evm-indexer node" os_name = "ubuntu" os_version = "22.04" arch = "x86_64" diff --git a/templates/terraform/network-primitives/outputs.tf b/templates/terraform/network-primitives/outputs.tf index afdb338d..3e71ea4f 100644 --- a/templates/terraform/network-primitives/outputs.tf +++ b/templates/terraform/network-primitives/outputs.tf @@ -64,20 +64,20 @@ output "rpc_indexer_node_ami" { value = aws_instance.rpc_indexer_node.*.ami } -output "nova_indexer_node_server_id" { - value = aws_instance.nova_indexer_node.*.id +output "auto_evm_indexer_node_server_id" { + value = aws_instance.auto_evm_indexer_node.*.id } -output "nova_indexer_node_private_ip" { - value = aws_instance.nova_indexer_node.*.private_ip +output "auto_evm_indexer_node_private_ip" { + value = aws_instance.auto_evm_indexer_node.*.private_ip } -output "nova_indexer_node_public_ip" { - value = aws_instance.nova_indexer_node.*.public_ip +output "auto_evm_indexer_node_public_ip" { + value = aws_instance.auto_evm_indexer_node.*.public_ip } -output "nova_indexer_node_ami" { - value = aws_instance.nova_indexer_node.*.ami +output "auto_evm_indexer_node_ami" { + value = aws_instance.auto_evm_indexer_node.*.ami } @@ -148,14 +148,12 @@ output "farmer_node_ami" { } output "dns-records" { - value = [ - cloudflare_record.rpc[*].hostname, - cloudflare_record.rpc-indexer[*].hostname, - cloudflare_record.nova-indexer-rpc[*].hostname, - cloudflare_record.bootstrap[*].hostname, - cloudflare_record.bootstrap_evm[*].hostname, - cloudflare_record.bootstrap_auto[*].hostname, - # cloudflare_record.nova[*].hostname, - # cloudflare_record.autoid[*].hostname, - ] + value = concat( + [for record in cloudflare_dns_record.rpc : "${record.name}.${data.cloudflare_zone.cloudflare_zone.name}"], + [for record in cloudflare_dns_record.rpc-indexer : "${record.name}.${data.cloudflare_zone.cloudflare_zone.name}"], + [for record in cloudflare_dns_record.auto-evm-indexer-rpc : "${record.name}.${data.cloudflare_zone.cloudflare_zone.name}"], + [for record in cloudflare_dns_record.bootstrap : "${record.name}.${data.cloudflare_zone.cloudflare_zone.name}"], + [for record in cloudflare_dns_record.bootstrap_evm : "${record.name}.${data.cloudflare_zone.cloudflare_zone.name}"], + [for record in cloudflare_dns_record.bootstrap_auto : "${record.name}.${data.cloudflare_zone.cloudflare_zone.name}"] + ) } diff --git a/templates/terraform/network-primitives/variables.tf b/templates/terraform/network-primitives/variables.tf index a271b49c..24d0c3e0 100644 --- a/templates/terraform/network-primitives/variables.tf +++ b/templates/terraform/network-primitives/variables.tf @@ -10,6 +10,12 @@ variable "cloudflare_email" { sensitive = true } +variable "cloudflare_zone_id" { + type = string + description = "cloudflare zone id" + sensitive = true +} + variable "cloudflare_api_token" { type = string description = "cloudflare api token" @@ -37,16 +43,13 @@ variable "azs" { variable "instance_count" { type = map(number) default = { - bootstrap = 2 - rpc = 2 - domain = 0 - rpc-indexer = 0 - nova-indexer = 0 - farmer = 1 - evm_bootstrap = 0 - autoid_bootsrap = 0 - nova_indexer_node = 0 - rpc_indexer_node = 0 + bootstrap = 2 + rpc = 2 + rpc-indexer = 0 + auto-evm-indexer = 0 + farmer = 1 + evm_bootstrap = 0 + autoid_bootsrap = 0 } } @@ -153,8 +156,8 @@ variable "domain-node-config" { }) } -variable "nova-indexer-node-config" { - description = "Nova indexer node deployment config" +variable "auto-evm-indexer-node-config" { + description = "Auto EVM indexer node deployment config" type = object({ instance-type = string deployment-version = number