From fca7e5baf1d580d8a6d8ef45a66a6826a2e9d7ae Mon Sep 17 00:00:00 2001 From: Eslam-Nawara Date: Thu, 26 Sep 2024 15:59:14 +0300 Subject: [PATCH] add mycelium network to terraform examples --- examples/resources/cosmosvalidator/main.tf | 15 ++++++++++++ examples/resources/disks/main.tf | 4 ++++ examples/resources/expose-vm/main.tf | 15 ++++++++++++ examples/resources/gpu/main.tf | 27 +++++++++++++++------- 4 files changed, 53 insertions(+), 8 deletions(-) diff --git a/examples/resources/cosmosvalidator/main.tf b/examples/resources/cosmosvalidator/main.tf index 243a1647..315258f4 100644 --- a/examples/resources/cosmosvalidator/main.tf +++ b/examples/resources/cosmosvalidator/main.tf @@ -9,6 +9,13 @@ terraform { provider "grid" { } +resource "random_bytes" "mycelium_ip_seed" { + length = 6 +} + +resource "random_bytes" "mycelium_key" { + length = 32 +} resource "grid_scheduler" "sched" { requests { @@ -33,6 +40,9 @@ resource "grid_network" "net1" { ip_range = "10.1.0.0/16" description = "newer network" add_wg_access = true + mycelium_keys = { + format("%s", grid_scheduler.sched.nodes["node1"]) = random_bytes.mycelium_key.hex + } } resource "grid_deployment" "d1" { solution_type = local.solution_type @@ -46,6 +56,7 @@ resource "grid_deployment" "d1" { publicip = true memory = 4096 entrypoint = "/sbin/zinit init" + mycelium_ip_seed = random_bytes.mycelium_ip_seed.hex env_vars = { SSH_KEY = file("~/.ssh/id_rsa.pub") @@ -74,3 +85,7 @@ output "node1_zmachine1_ip" { output "ygg_ip" { value = grid_deployment.d1.vms[0].planetary_ip } + +output "mycelium_ip" { + value = grid_deployment.d1.vms[0].mycelium_ip +} diff --git a/examples/resources/disks/main.tf b/examples/resources/disks/main.tf index 14896b48..0761bef0 100644 --- a/examples/resources/disks/main.tf +++ b/examples/resources/disks/main.tf @@ -53,3 +53,7 @@ output "zdb1_endpoint" { output "zdb1_namespace" { value = grid_deployment.d1.zdbs[0].namespace } + +output "zdb1_mycelium_ip" { + value = grid_deployment.d1.zdbs[0].ips[2] +} diff --git a/examples/resources/expose-vm/main.tf b/examples/resources/expose-vm/main.tf index e991cada..b5871515 100644 --- a/examples/resources/expose-vm/main.tf +++ b/examples/resources/expose-vm/main.tf @@ -9,6 +9,14 @@ terraform { provider "grid" { } +resource "random_bytes" "mycelium_ip_seed" { + length = 6 +} + +resource "random_bytes" "mycelium_key" { + length = 32 +} + resource "grid_scheduler" "sched" { requests { name = "node1" @@ -45,6 +53,9 @@ resource "grid_network" "net1" { name = local.name description = "newer network" add_wg_access = true + mycelium_keys = { + format("%s", local.node1) = random_bytes.mycelium_key.hex + } } resource "grid_deployment" "d1" { name = local.name @@ -59,6 +70,7 @@ resource "grid_deployment" "d1" { env_vars = { SSH_KEY = file("~/.ssh/id_rsa.pub") } + mycelium_ip_seed = random_bytes.mycelium_ip_seed.hex planetary = true } } @@ -82,3 +94,6 @@ output "ygg_ip" { value = grid_deployment.d1.vms[0].planetary_ip } +output "mycelium_ip" { + value = grid_deployment.d1.vms[0].mycelium_ip +} diff --git a/examples/resources/gpu/main.tf b/examples/resources/gpu/main.tf index c94bd1e7..bc6f2aa1 100644 --- a/examples/resources/gpu/main.tf +++ b/examples/resources/gpu/main.tf @@ -8,20 +8,31 @@ terraform { provider "grid" { } -locals { - name = "testvm" +resource "random_bytes" "mycelium_ip_seed" { + length = 6 +} + +resource "random_bytes" "mycelium_key" { + length = 32 } +locals { + name = "testvm" + node_id = 93 +} resource "grid_network" "net1" { name = local.name - nodes = [93] + nodes = [local.node_id] ip_range = "10.1.0.0/16" description = "newer network" + mycelium_keys = { + format("%s", local.node_id) = random_bytes.mycelium_key.hex + } } resource "grid_deployment" "d1" { name = local.name - node = 93 + node = local.node_id network_name = grid_network.net1.name disks { name = "data" @@ -38,10 +49,10 @@ resource "grid_deployment" "d1" { SSH_KEY = file("~/.ssh/id_rsa.pub") } mounts { - name = "data" + disk_name = "data" mount_point = "/app" } - planetary = true + mycelium_ip_seed = random_bytes.mycelium_ip_seed.hex gpus = [ "0000:0e:00.0/1002/744c" //choose the correct gpu id available on the node your are deploying on ] @@ -52,7 +63,7 @@ resource "grid_deployment" "d1" { output "vm1_ip" { value = grid_deployment.d1.vms[0].ip } -output "vm1_ygg_ip" { - value = grid_deployment.d1.vms[0].planetary_ip +output "vm1_mycelium_ip" { + value = grid_deployment.d1.vms[0].mycelium_ip }