diff --git a/terraform/devnet-9/digitalocean.tf b/terraform/devnet-9/digitalocean.tf index 6ac665f..654d7ae 100644 --- a/terraform/devnet-9/digitalocean.tf +++ b/terraform/devnet-9/digitalocean.tf @@ -222,6 +222,15 @@ locals { (node.count > 0 ? (node.validator_end - node.validator_start) / node.count >= 128 : false) ) + # Size: explicit > supernode-based default + size = ( + node.size != null ? node.size : + (node.supernode != null ? node.supernode : + can(regex("(bootnode|mev)", node.name)) ? true : + (node.count > 0 ? (node.validator_end - node.validator_start) / node.count >= 128 : false) + ) ? var.digitalocean_supernode_size : var.digitalocean_fullnode_size + ) + region = node.region != null ? node.region : lookup( var.digitalocean_region_overrides, "${node.name}-${node.start_index + i + 1}", @@ -258,7 +267,7 @@ locals { ssh_keys = [data.digitalocean_ssh_key.main.fingerprint] region = vm.region image = local.digitalocean_default_image - size = vm.supernode ? var.digitalocean_supernode_size : var.digitalocean_fullnode_size + size = vm.size resize_disk = true monitoring = true backups = false diff --git a/terraform/devnet-9/nodes.tf b/terraform/devnet-9/nodes.tf index bd77450..a2645a3 100644 --- a/terraform/devnet-9/nodes.tf +++ b/terraform/devnet-9/nodes.tf @@ -24,10 +24,10 @@ variable "nodes" { default = [ { name = "bootnode", count = 4, cloud = "digitalocean" }, # Buildoor - { name = "buildoor-prysm-ethrex", count = 1, cloud = "digitalocean", builder_start = 0 }, - { name = "buildoor-lighthouse-geth", count = 1, cloud = "digitalocean", builder_start = 1 }, - { name = "buildoor-lodestar-ethrex", count = 1, cloud = "digitalocean", builder_start = 2 }, - { name = "buildoor-teku-nethermind", count = 1, cloud = "digitalocean", builder_start = 3 }, + { name = "buildoor-prysm-ethrex", count = 1, cloud = "digitalocean", builder_start = 0, size = "s-8vcpu-32gb-640gb-intel" }, + { name = "buildoor-lighthouse-geth", count = 1, cloud = "digitalocean", builder_start = 1, size = "s-8vcpu-32gb-640gb-intel" }, + { name = "buildoor-lodestar-ethrex", count = 1, cloud = "digitalocean", builder_start = 2, size = "s-8vcpu-32gb-640gb-intel" }, + { name = "buildoor-teku-nethermind", count = 1, cloud = "digitalocean", builder_start = 3, size = "s-8vcpu-32gb-640gb-intel" }, # 1000-node stress test approximating mainnet client distribution (Aug 2026). # CL weights: lighthouse 43%, prysm 31%, teku 14%, nimbus 8%, lodestar 3%, grandine 1%.