From 9b49e37e8204464ab050ce2f1d2ab8114e391fe3 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Wed, 24 Aug 2022 16:20:14 +0300 Subject: [PATCH 1/2] fix: Use immutable names for volumes in example templates This contributes towards #3000, #3386 Related #3409 --- docs/templates.md | 2 +- dogfood/main.tf | 12 ++++++------ examples/templates/do-linux/main.tf | 2 +- examples/templates/docker-code-server/main.tf | 2 +- examples/templates/docker-image-builds/main.tf | 2 +- examples/templates/docker-with-dotfiles/main.tf | 2 +- examples/templates/docker/main.tf | 5 +++-- examples/templates/gcp-linux/main.tf | 2 +- examples/templates/gcp-windows/main.tf | 2 +- 9 files changed, 16 insertions(+), 15 deletions(-) diff --git a/docs/templates.md b/docs/templates.md index accfde09ba243..2c04266c79329 100644 --- a/docs/templates.md +++ b/docs/templates.md @@ -187,7 +187,7 @@ data "coder_workspace" "me" { resource "docker_volume" "home_volume" { # persistent resource (remains a workspace is stopped) count = 1 - name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}-root" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" } resource "docker_container" "workspace" { diff --git a/dogfood/main.tf b/dogfood/main.tf index 15594e0ab55c3..3fb00bcdf95ea 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -46,14 +46,14 @@ resource "coder_app" "code-server" { resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}-home" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" } resource "coder_metadata" "home_info" { resource_id = docker_volume.home_volume.id item { - key = "🤫🤫🤫

" - value = "❤️❤️❤️" + key = "🤫🤫🤫

" + value = "❤️❤️❤️" sensitive = true } } @@ -93,14 +93,14 @@ resource "docker_container" "workspace" { } resource "coder_metadata" "container_info" { - count = data.coder_workspace.me.start_count + count = data.coder_workspace.me.start_count resource_id = docker_container.workspace[0].id item { - key = "memory" + key = "memory" value = docker_container.workspace[0].memory } item { - key = "runtime" + key = "runtime" value = docker_container.workspace[0].runtime } } diff --git a/examples/templates/do-linux/main.tf b/examples/templates/do-linux/main.tf index 6af96c9e6ba79..a61362c83fa49 100644 --- a/examples/templates/do-linux/main.tf +++ b/examples/templates/do-linux/main.tf @@ -100,7 +100,7 @@ resource "coder_agent" "main" { resource "digitalocean_volume" "home_volume" { region = var.region - name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}-home" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" size = var.home_volume_size initial_filesystem_type = "ext4" initial_filesystem_label = "coder-home" diff --git a/examples/templates/docker-code-server/main.tf b/examples/templates/docker-code-server/main.tf index 5b443045a3793..c76dc18670d1b 100644 --- a/examples/templates/docker-code-server/main.tf +++ b/examples/templates/docker-code-server/main.tf @@ -44,7 +44,7 @@ resource "coder_app" "code-server" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}-root" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" } resource "docker_container" "workspace" { diff --git a/examples/templates/docker-image-builds/main.tf b/examples/templates/docker-image-builds/main.tf index 8f9a17bc2f1ee..45e023ba722ed 100644 --- a/examples/templates/docker-image-builds/main.tf +++ b/examples/templates/docker-image-builds/main.tf @@ -45,7 +45,7 @@ variable "docker_image" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}-root" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" } resource "docker_image" "coder_image" { diff --git a/examples/templates/docker-with-dotfiles/main.tf b/examples/templates/docker-with-dotfiles/main.tf index f09cdc4a6fcb8..2f1ae731dad06 100644 --- a/examples/templates/docker-with-dotfiles/main.tf +++ b/examples/templates/docker-with-dotfiles/main.tf @@ -43,7 +43,7 @@ resource "coder_agent" "main" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}-root" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" } resource "docker_container" "workspace" { diff --git a/examples/templates/docker/main.tf b/examples/templates/docker/main.tf index 1f494737c563e..4058be67e3314 100644 --- a/examples/templates/docker/main.tf +++ b/examples/templates/docker/main.tf @@ -62,7 +62,7 @@ variable "docker_image" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}-home" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" } resource "docker_container" "workspace" { @@ -75,7 +75,8 @@ resource "docker_container" "workspace" { dns = ["1.1.1.1"] # Use the docker gateway if the access URL is 127.0.0.1 command = [ - "sh", "-c", replace(coder_agent.main.init_script, "localhost", "host.docker.internal")] + "sh", "-c", replace(coder_agent.main.init_script, "localhost", "host.docker.internal") + ] env = ["CODER_AGENT_TOKEN=${coder_agent.main.token}"] host { host = "host.docker.internal" diff --git a/examples/templates/gcp-linux/main.tf b/examples/templates/gcp-linux/main.tf index 465441c43d2c4..67ac78ab4d4b7 100644 --- a/examples/templates/gcp-linux/main.tf +++ b/examples/templates/gcp-linux/main.tf @@ -36,7 +36,7 @@ data "coder_workspace" "me" { } resource "google_compute_disk" "root" { - name = "coder-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}-root" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-root" type = "pd-ssd" zone = var.zone image = "debian-cloud/debian-10" diff --git a/examples/templates/gcp-windows/main.tf b/examples/templates/gcp-windows/main.tf index 1850a86861f45..e7962ac1724c0 100644 --- a/examples/templates/gcp-windows/main.tf +++ b/examples/templates/gcp-windows/main.tf @@ -36,7 +36,7 @@ data "google_compute_default_service_account" "default" { } resource "google_compute_disk" "root" { - name = "coder-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}-root" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-root" type = "pd-ssd" zone = var.zone image = "projects/windows-cloud/global/images/windows-server-2022-dc-core-v20220215" From ed5963691b3c913638ce364f96182f173696a027 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 26 Aug 2022 16:24:28 +0300 Subject: [PATCH 2/2] fix: Only use workspace UUID for volume names --- docs/templates.md | 2 +- dogfood/main.tf | 2 +- examples/templates/do-linux/main.tf | 2 +- examples/templates/docker-code-server/main.tf | 2 +- examples/templates/docker-image-builds/main.tf | 2 +- examples/templates/docker-with-dotfiles/main.tf | 2 +- examples/templates/docker/main.tf | 2 +- examples/templates/gcp-linux/main.tf | 2 +- examples/templates/gcp-windows/main.tf | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/templates.md b/docs/templates.md index 2c04266c79329..d01ac83911c8a 100644 --- a/docs/templates.md +++ b/docs/templates.md @@ -187,7 +187,7 @@ data "coder_workspace" "me" { resource "docker_volume" "home_volume" { # persistent resource (remains a workspace is stopped) count = 1 - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" + name = "coder-${data.coder_workspace.me.id}-home" } resource "docker_container" "workspace" { diff --git a/dogfood/main.tf b/dogfood/main.tf index 3fb00bcdf95ea..8b641d47e80e6 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -46,7 +46,7 @@ resource "coder_app" "code-server" { resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" + name = "coder-${data.coder_workspace.me.id}-home" } resource "coder_metadata" "home_info" { diff --git a/examples/templates/do-linux/main.tf b/examples/templates/do-linux/main.tf index a61362c83fa49..f6643d2e0ce12 100644 --- a/examples/templates/do-linux/main.tf +++ b/examples/templates/do-linux/main.tf @@ -100,7 +100,7 @@ resource "coder_agent" "main" { resource "digitalocean_volume" "home_volume" { region = var.region - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" + name = "coder-${data.coder_workspace.me.id}-home" size = var.home_volume_size initial_filesystem_type = "ext4" initial_filesystem_label = "coder-home" diff --git a/examples/templates/docker-code-server/main.tf b/examples/templates/docker-code-server/main.tf index c76dc18670d1b..5ec52dbdbad83 100644 --- a/examples/templates/docker-code-server/main.tf +++ b/examples/templates/docker-code-server/main.tf @@ -44,7 +44,7 @@ resource "coder_app" "code-server" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" + name = "coder-${data.coder_workspace.me.id}-home" } resource "docker_container" "workspace" { diff --git a/examples/templates/docker-image-builds/main.tf b/examples/templates/docker-image-builds/main.tf index 45e023ba722ed..5c628da79e9a0 100644 --- a/examples/templates/docker-image-builds/main.tf +++ b/examples/templates/docker-image-builds/main.tf @@ -45,7 +45,7 @@ variable "docker_image" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" + name = "coder-${data.coder_workspace.me.id}-home" } resource "docker_image" "coder_image" { diff --git a/examples/templates/docker-with-dotfiles/main.tf b/examples/templates/docker-with-dotfiles/main.tf index 2f1ae731dad06..e8668048602ca 100644 --- a/examples/templates/docker-with-dotfiles/main.tf +++ b/examples/templates/docker-with-dotfiles/main.tf @@ -43,7 +43,7 @@ resource "coder_agent" "main" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" + name = "coder-${data.coder_workspace.me.id}-home" } resource "docker_container" "workspace" { diff --git a/examples/templates/docker/main.tf b/examples/templates/docker/main.tf index 4058be67e3314..3d368384a11e0 100644 --- a/examples/templates/docker/main.tf +++ b/examples/templates/docker/main.tf @@ -62,7 +62,7 @@ variable "docker_image" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" + name = "coder-${data.coder_workspace.me.id}-home" } resource "docker_container" "workspace" { diff --git a/examples/templates/gcp-linux/main.tf b/examples/templates/gcp-linux/main.tf index 67ac78ab4d4b7..96d55169f00ac 100644 --- a/examples/templates/gcp-linux/main.tf +++ b/examples/templates/gcp-linux/main.tf @@ -36,7 +36,7 @@ data "coder_workspace" "me" { } resource "google_compute_disk" "root" { - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-root" + name = "coder-${data.coder_workspace.me.id}-root" type = "pd-ssd" zone = var.zone image = "debian-cloud/debian-10" diff --git a/examples/templates/gcp-windows/main.tf b/examples/templates/gcp-windows/main.tf index e7962ac1724c0..7587dabea7c6b 100644 --- a/examples/templates/gcp-windows/main.tf +++ b/examples/templates/gcp-windows/main.tf @@ -36,7 +36,7 @@ data "google_compute_default_service_account" "default" { } resource "google_compute_disk" "root" { - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-root" + name = "coder-${data.coder_workspace.me.id}-root" type = "pd-ssd" zone = var.zone image = "projects/windows-cloud/global/images/windows-server-2022-dc-core-v20220215"