diff --git a/examples/templates/aws-linux/main.tf b/examples/templates/aws-linux/main.tf index 2ba3a7d8cb359..3cc75d451300e 100644 --- a/examples/templates/aws-linux/main.tf +++ b/examples/templates/aws-linux/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } } } @@ -146,7 +146,7 @@ EOT resource "aws_instance" "dev" { ami = data.aws_ami.ubuntu.id availability_zone = "${var.region}a" - instance_type = "${var.instance_type}" + instance_type = var.instance_type user_data = data.coder_workspace.me.transition == "start" ? local.user_data_start : local.user_data_end tags = { @@ -155,3 +155,19 @@ resource "aws_instance" "dev" { Coder_Provisioned = "true" } } + +resource "coder_metadata" "workspace_info" { + resource_id = aws_instance.dev.id + item { + key = "region" + value = var.region + } + item { + key = "instance type" + value = aws_instance.dev.instance_type + } + item { + key = "disk" + value = "${aws_instance.dev.root_block_device[0].volume_size} GiB" + } +} diff --git a/examples/templates/aws-windows/main.tf b/examples/templates/aws-windows/main.tf index 6ff855ddb100b..d783e98518b2c 100644 --- a/examples/templates/aws-windows/main.tf +++ b/examples/templates/aws-windows/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } } } @@ -99,7 +99,7 @@ EOT resource "aws_instance" "dev" { ami = data.aws_ami.windows.id availability_zone = "${var.region}a" - instance_type = "${var.instance_type}" + instance_type = var.instance_type count = 1 user_data = data.coder_workspace.me.transition == "start" ? local.user_data_start : local.user_data_end @@ -110,3 +110,19 @@ resource "aws_instance" "dev" { } } + +resource "coder_metadata" "workspace_info" { + resource_id = aws_instance.dev.id + item { + key = "region" + value = var.region + } + item { + key = "instance type" + value = aws_instance.dev.instance_type + } + item { + key = "disk" + value = "${aws_instance.dev.root_block_device[0].volume_size} GiB" + } +} diff --git a/examples/templates/azure-linux/main.tf b/examples/templates/azure-linux/main.tf index 2406d6a5901bb..667a29eb06c17 100644 --- a/examples/templates/azure-linux/main.tf +++ b/examples/templates/azure-linux/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } azurerm = { source = "hashicorp/azurerm" @@ -89,9 +89,9 @@ locals { prefix = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}" userdata = templatefile("cloud-config.yaml.tftpl", { - username = lower(substr(data.coder_workspace.me.owner, 0, 32)) - init_script = base64encode(coder_agent.main.init_script) - hostname = lower(data.coder_workspace.me.name) + username = lower(substr(data.coder_workspace.me.owner, 0, 32)) + init_script = base64encode(coder_agent.main.init_script) + hostname = lower(data.coder_workspace.me.name) }) } @@ -173,7 +173,7 @@ resource "azurerm_linux_virtual_machine" "main" { name = "vm" resource_group_name = azurerm_resource_group.main.name location = azurerm_resource_group.main.location - size = var.instance_type + size = var.instance_type // cloud-init overwrites this, so the value here doesn't matter admin_username = "adminuser" admin_ssh_key { @@ -209,3 +209,22 @@ resource "azurerm_virtual_machine_data_disk_attachment" "home" { lun = "10" caching = "ReadWrite" } + +resource "coder_metadata" "workspace_info" { + count = data.coder_workspace.me.start_count + resource_id = azurerm_linux_virtual_machine.main[0].id + + item { + key = "type" + value = azurerm_linux_virtual_machine.main[0].size + } +} + +resource "coder_metadata" "home_info" { + resource_id = azurerm_managed_disk.home.id + + item { + key = "size" + value = "${var.home_size} GiB" + } +} diff --git a/examples/templates/do-linux/main.tf b/examples/templates/do-linux/main.tf index 499b2ed42a80e..9a8de352fe91a 100644 --- a/examples/templates/do-linux/main.tf +++ b/examples/templates/do-linux/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } digitalocean = { source = "digitalocean/digitalocean" @@ -133,3 +133,27 @@ resource "digitalocean_project_resources" "project" { digitalocean_volume.home_volume.urn ] } + +resource "coder_metadata" "workspace-info" { + count = data.coder_workspace.me.start_count + resource_id = digitalocean_droplet.workspace[0].id + + item { + key = "region" + value = digitalocean_droplet.workspace[0].region + } + item { + key = "image" + value = digitalocean_droplet.workspace[0].image + } +} + +resource "coder_metadata" "volume-info" { + resource_id = digitalocean_volume.home_volume.id + + item { + key = "size" + value = "${digitalocean_volume.home_volume.size} GiB" + } + +} diff --git a/examples/templates/docker-code-server/main.tf b/examples/templates/docker-code-server/main.tf index 29be1ff990219..844d183e2108e 100644 --- a/examples/templates/docker-code-server/main.tf +++ b/examples/templates/docker-code-server/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } docker = { source = "kreuzwerker/docker" @@ -45,9 +45,9 @@ resource "coder_agent" "main" { # You can remove this block if you'd prefer to configure Git manually or using # dotfiles. (see docs/dotfiles.md) env = { - GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}" - GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}" - GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}" + GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}" + GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}" + GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}" GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}" } } diff --git a/examples/templates/docker-image-builds/main.tf b/examples/templates/docker-image-builds/main.tf index c135a09c2112e..5be35e74e98f4 100644 --- a/examples/templates/docker-image-builds/main.tf +++ b/examples/templates/docker-image-builds/main.tf @@ -3,7 +3,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } docker = { source = "kreuzwerker/docker" @@ -120,3 +120,13 @@ resource "docker_container" "workspace" { read_only = false } } + +resource "coder_metadata" "container_info" { + count = data.coder_workspace.me.start_count + resource_id = docker_container.workspace[0].id + + item { + key = "image" + value = var.docker_image + } +} diff --git a/examples/templates/docker-with-dotfiles/main.tf b/examples/templates/docker-with-dotfiles/main.tf index afc91c34e326b..233946d4cff73 100644 --- a/examples/templates/docker-with-dotfiles/main.tf +++ b/examples/templates/docker-with-dotfiles/main.tf @@ -9,7 +9,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } docker = { source = "kreuzwerker/docker" @@ -66,3 +66,13 @@ resource "docker_container" "workspace" { read_only = false } } + +resource "coder_metadata" "container_info" { + count = data.coder_workspace.me.start_count + resource_id = docker_container.workspace[0].id + + item { + key = "image" + value = var.docker_image + } +} diff --git a/examples/templates/docker/main.tf b/examples/templates/docker/main.tf index 1aad84d324f76..6c1b8ddd5e87c 100644 --- a/examples/templates/docker/main.tf +++ b/examples/templates/docker/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } docker = { source = "kreuzwerker/docker" @@ -80,9 +80,9 @@ resource "coder_agent" "main" { # You can remove this block if you'd prefer to configure Git manually or using # dotfiles. (see docs/dotfiles.md) env = { - GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}" - GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}" - GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}" + GIT_AUTHOR_NAME = "${data.coder_workspace.me.owner}" + GIT_COMMITTER_NAME = "${data.coder_workspace.me.owner}" + GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}" GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}" } } @@ -138,3 +138,13 @@ resource "docker_container" "workspace" { read_only = false } } + +resource "coder_metadata" "container_info" { + count = data.coder_workspace.me.start_count + resource_id = docker_container.workspace[0].id + + item { + key = "image" + value = var.docker_image + } +} diff --git a/examples/templates/gcp-linux/main.tf b/examples/templates/gcp-linux/main.tf index 9200bbacac5c5..e009116ce05e6 100644 --- a/examples/templates/gcp-linux/main.tf +++ b/examples/templates/gcp-linux/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } google = { source = "hashicorp/google" @@ -91,3 +91,22 @@ locals { # Ensure Coder username is a valid Linux username linux_user = lower(substr(data.coder_workspace.me.owner, 0, 32)) } + +resource "coder_metadata" "workspace_info" { + count = data.coder_workspace.me.start_count + resource_id = google_compute_instance.dev[0].id + + item { + key = "type" + value = google_compute_instance.dev[0].machine_type + } +} + +resource "coder_metadata" "home_info" { + resource_id = google_compute_disk.root.id + + item { + key = "size" + value = "${google_compute_disk.root.size} GiB" + } +} diff --git a/examples/templates/gcp-vm-container/main.tf b/examples/templates/gcp-vm-container/main.tf index fc6ab396144df..59b0b266f084c 100644 --- a/examples/templates/gcp-vm-container/main.tf +++ b/examples/templates/gcp-vm-container/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } google = { source = "hashicorp/google" @@ -88,3 +88,13 @@ resource "coder_agent_instance" "dev" { agent_id = coder_agent.main.id instance_id = google_compute_instance.dev[0].instance_id } + +resource "coder_metadata" "workspace_info" { + count = data.coder_workspace.me.start_count + resource_id = google_compute_instance.dev[0].id + + item { + key = "image" + value = module.gce-container.container.image + } +} diff --git a/examples/templates/gcp-windows/main.tf b/examples/templates/gcp-windows/main.tf index 568183ab2834f..3a0d2dd0b5a75 100644 --- a/examples/templates/gcp-windows/main.tf +++ b/examples/templates/gcp-windows/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } google = { source = "hashicorp/google" @@ -75,3 +75,21 @@ resource "google_compute_instance" "dev" { serial-port-enable = "TRUE" } } +resource "coder_metadata" "workspace_info" { + count = data.coder_workspace.me.start_count + resource_id = google_compute_instance.dev[0].id + + item { + key = "type" + value = google_compute_instance.dev[0].machine_type + } +} + +resource "coder_metadata" "home_info" { + resource_id = google_compute_disk.root.id + + item { + key = "size" + value = "${google_compute_disk.root.size} GiB" + } +}