Skip to content

Commit

Permalink
make provisioners reusable by main module and testing module
Browse files Browse the repository at this point in the history
  • Loading branch information
DaMandal0rian committed Apr 9, 2024
1 parent 8940c27 commit 1266f66
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 49 deletions.
25 changes: 21 additions & 4 deletions templates/terraform/hetzner/bootstrap_node_evm_provisioner.tf
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,19 @@ resource "null_resource" "setup-bootstrap-nodes-evm" {

}

resource "null_resource" "clone_branch" {
count = var.branch != "main" ? 1 : 0

provisioner "remote-exec" {
inline = [
"cd /root/subspace/",
"git clone https://github.com/subspace/subspace.git",
"cd subspace",
"git checkout ${var.branch_name}"
]
}
}

resource "null_resource" "prune-bootstrap-nodes-evm" {
count = var.bootstrap-node-evm-config.prune ? length(local.bootstrap_nodes_evm_ip_v4) : 0
depends_on = [null_resource.setup-bootstrap-nodes-evm]
Expand Down Expand Up @@ -135,8 +148,8 @@ resource "null_resource" "start-bootstrap-nodes-evm" {
"sudo hostnamectl set-hostname ${var.network_name}-bootstrap-node-evm-${count.index}",

# create .env file
"echo NODE_ORG=${var.bootstrap-node-evm-config.docker-org} > /root/subspace/.env",
"echo NODE_TAG=${var.bootstrap-node-evm-config.docker-tag} >> /root/subspace/.env",
"echo NODE_ORG=${var.bootstrap-node-evm-config.repo-org} > /root/subspace/.env",
"echo NODE_TAG=${var.bootstrap-node-evm-config.node-tag} >> /root/subspace/.env",
"echo NETWORK_NAME=${var.network_name} >> /root/subspace/.env",
"echo NODE_ID=${count.index} >> /root/subspace/.env",
"echo NODE_KEY=$(sed -nr 's/NODE_${count.index}_KEY=//p' /root/subspace/node_keys.txt) >> /root/subspace/.env",
Expand All @@ -151,12 +164,16 @@ resource "null_resource" "start-bootstrap-nodes-evm" {
"echo NODE_DSN_PORT=${var.bootstrap-node-evm-config.node-dsn-port} >> /root/subspace/.env",
"echo OPERATOR_PORT=${var.bootstrap-node-evm-config.operator-port} >> /root/subspace/.env",
"echo GENESIS_HASH=${var.bootstrap-node-evm-config.genesis-hash} >> /root/subspace/.env",
"echo BRANCH_NAME=${var.branch_name} >> /root/subspace/.env",

# create docker compose file
"bash /root/subspace/create_compose_file.sh ${var.bootstrap-node-evm-config.reserved-only} ${length(local.bootstrap_nodes_evm_ip_v4)} ${count.index} ${length(local.bootstrap_nodes_ip_v4)} ${var.domain-node-config.enable-domains} ",
"bash /root/subspace/create_compose_file.sh ${var.bootstrap-node-evm-config.reserved-only} ${length(local.bootstrap_nodes_evm_ip_v4)} ${count.index} ${length(local.bootstrap_nodes_ip_v4)} ${var.domain-node-config.enable-domains}",

# start subspace node
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d",
var.branch != "main" ? join(" && ", [
"cp -f /root/subspace/.env /root/subspace/subspace/.env",
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d"
]) : "sudo docker compose -f /root/subspace/docker-compose.yml up -d"
]
}
}
14 changes: 9 additions & 5 deletions templates/terraform/hetzner/bootstrap_node_provisioner.tf
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,11 @@ resource "null_resource" "setup-bootstrap-nodes" {
"sudo bash /root/subspace/installer.sh",
]
}
}

resource "null_resource" "clone_branch" {
count = var.branch != "main" ? 1 : 0

# clone testing branch
provisioner "remote-exec" {
inline = [
"cd /root/subspace/",
Expand All @@ -53,7 +56,6 @@ resource "null_resource" "setup-bootstrap-nodes" {
"git checkout ${var.branch_name}"
]
}

}

resource "null_resource" "prune-bootstrap-nodes" {
Expand Down Expand Up @@ -146,14 +148,16 @@ resource "null_resource" "start-boostrap-nodes" {
"echo DSN_LISTEN_PORT=${var.bootstrap-node-config.dsn-listen-port} >> /root/subspace/.env",
"echo NODE_DSN_PORT=${var.bootstrap-node-config.node-dsn-port} >> /root/subspace/.env",
"echo GENESIS_HASH=${var.bootstrap-node-config.genesis-hash} >> /root/subspace/.env",
"echo BRANCH_NAME=${var.branch_name} >> /root/subspace/.env",

# create docker compose file
"chmod +x /root/subspace/create_compose_file.sh",
"bash /root/subspace/create_compose_file.sh ${var.bootstrap-node-config.reserved-only} ${length(local.bootstrap_nodes_ip_v4)} ${count.index}",

# start subspace node
"cp -f /root/subspace/.env /root/subspace/subspace/.env",
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d",
var.branch != "main" ? join(" && ", [
"cp -f /root/subspace/.env /root/subspace/subspace/.env",
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d"
]) : "sudo docker compose -f /root/subspace/docker-compose.yml up -d"
]
}
}
39 changes: 10 additions & 29 deletions templates/terraform/hetzner/domain_node_provisioner.tf
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,11 @@ resource "null_resource" "setup-domain-nodes" {
"sudo bash /root/subspace/installer.sh",
]
}
# clone testing branch
}

resource "null_resource" "clone_branch" {
count = var.branch != "main" ? 1 : 0

provisioner "remote-exec" {
inline = [
"cd /root/subspace/",
Expand All @@ -51,7 +55,6 @@ resource "null_resource" "setup-domain-nodes" {
"git checkout ${var.branch_name}"
]
}

}

resource "null_resource" "prune-domain-nodes" {
Expand Down Expand Up @@ -163,38 +166,16 @@ resource "null_resource" "start-domain-nodes" {
"echo RELAYER_DOMAIN_ID=$(sed -nr 's/NODE_${count.index}_RELAYER_DOMAIN_ID=//p' /root/subspace/relayer_ids.txt) >> /root/subspace/.env",
"echo PIECE_CACHE_SIZE=${var.piece_cache_size} >> /root/subspace/.env",
"echo NODE_DSN_PORT=${var.domain-node-config.node-dsn-port} >> /root/subspace/.env",
"echo BRANCH_NAME=${var.branch_name} >> /root/subspace/.env",

# create docker compose file
"bash /root/subspace/create_compose_file.sh ${var.bootstrap-node-config.reserved-only} ${length(local.domain_node_ip_v4)} ${count.index} ${length(local.bootstrap_nodes_ip_v4)} ${var.domain-node-config.enable-domains} ${var.domain-node-config.domain-id[0]}",

# start subspace node
"cp -f /root/subspace/.env /root/subspace/subspace/.env",
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d",
]
}
}

resource "null_resource" "inject-domain-keystore" {
# for now we have one executor running. Should change here when multiple executors are expected.
count = length(local.domain_node_ip_v4) > 0 ? 1 : 0
depends_on = [null_resource.start-domain-nodes]
# trigger on node deployment version change
triggers = {
deployment_version = var.domain-node-config.deployment-version
}

connection {
host = local.domain_node_ip_v4[0]
user = var.ssh_user
type = "ssh"
agent = true
private_key = file("${var.private_key_path}")
timeout = "300s"
}

provisioner "remote-exec" {
inline = [
"sudo docker cp /root/subspace/keystore/. subspace-archival-node-1:/var/subspace/keystore/"
var.branch != "main" ? join(" && ", [
"cp -f /root/subspace/.env /root/subspace/subspace/.env",
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d"
]) : "sudo docker compose -f /root/subspace/docker-compose.yml up -d"
]
}
}
16 changes: 10 additions & 6 deletions templates/terraform/hetzner/farmer_node_provisioner.tf
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,11 @@ resource "null_resource" "setup-farmer-nodes" {
"sudo /root/subspace/installer.sh",
]
}
}

resource "null_resource" "clone_branch" {
count = var.branch != "main" ? 1 : 0

# clone testing branch
provisioner "remote-exec" {
inline = [
"cd /root/subspace/",
Expand All @@ -55,7 +58,6 @@ resource "null_resource" "setup-farmer-nodes" {
"git checkout ${var.branch_name}"
]
}

}

resource "null_resource" "prune-farmer-nodes" {
Expand Down Expand Up @@ -152,14 +154,16 @@ resource "null_resource" "start-farmer-nodes" {
"echo PLOT_SIZE=${var.farmer-node-config.plot-size} >> /root/subspace/.env",
"echo PIECE_CACHE_SIZE=${var.piece_cache_size} >> /root/subspace/.env",
"echo NODE_DSN_PORT=${var.farmer-node-config.node-dsn-port} >> /root/subspace/.env",
"echo BRANCH_NAME=${var.branch_name} >> /root/subspace/.env",

# create docker compose file
"chmod +x /root/subspace/create_compose_file.sh",
"bash /root/subspace/create_compose_file.sh ${var.bootstrap-node-config.reserved-only} ${length(local.farmer_node_ipv4)} ${count.index} ${length(local.bootstrap_nodes_ip_v4)} ${var.farmer-node-config.force-block-production}",

# start subspace
"cp -f /root/subspace/.env /root/subspace/subspace/.env",
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d",
# start subspace node
var.branch != "main" ? join(" && ", [
"cp -f /root/subspace/.env /root/subspace/subspace/.env",
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d"
]) : "sudo docker compose -f /root/subspace/docker-compose.yml up -d"
]
}
}
14 changes: 9 additions & 5 deletions templates/terraform/hetzner/node_provisioner.tf
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,11 @@ resource "null_resource" "setup-nodes" {
"sudo bash /root/subspace/installer.sh",
]
}
}

resource "null_resource" "clone_branch" {
count = var.branch != "main" ? 1 : 0

# clone testing branch
provisioner "remote-exec" {
inline = [
"cd /root/subspace/",
Expand All @@ -53,7 +56,6 @@ resource "null_resource" "setup-nodes" {
"git checkout ${var.branch_name}"
]
}

}

resource "null_resource" "prune-nodes" {
Expand Down Expand Up @@ -148,14 +150,16 @@ resource "null_resource" "start-nodes" {
"echo NODE_KEY=$(sed -nr 's/NODE_${count.index}_KEY=//p' /root/subspace/node_keys.txt) >> /root/subspace/.env",
"echo PIECE_CACHE_SIZE=${var.piece_cache_size} >> /root/subspace/.env",
"echo NODE_DSN_PORT=${var.node-config.node-dsn-port} >> /root/subspace/.env",
"echo BRANCH_NAME=${var.branch_name} >> /root/subspace/.env",

# create docker compose file
"chmod +x /root/subspace/create_compose_file.sh",
"bash /root/subspace/create_compose_file.sh ${var.bootstrap-node-config.reserved-only} ${length(local.node_ip_v4)} ${count.index} ${length(local.bootstrap_nodes_ip_v4)}",

# start subspace node
"cp -f /root/subspace/.env /root/subspace/subspace/.env",
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d",
var.branch != "main" ? join(" && ", [
"cp -f /root/subspace/.env /root/subspace/subspace/.env",
"sudo docker compose -f /root/subspace/subspace/docker-compose.yml up -d"
]) : "sudo docker compose -f /root/subspace/docker-compose.yml up -d"
]
}
}

0 comments on commit 1266f66

Please sign in to comment.