From 8cb3f7d615a57d4ece9642aa3187c3080439443d Mon Sep 17 00:00:00 2001 From: Sas Swart Date: Tue, 20 May 2025 10:26:37 +0000 Subject: [PATCH 1/2] chore: add presets with prebuilds to our dogfood template --- dogfood/coder/main.tf | 83 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index e21602a26e922..b68c823dbb12f 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -30,6 +30,81 @@ locals { container_name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}" } +data "coder_workspace_preset" "cpt" { + name = "Cape Town" + parameters = { + (data.coder_parameter.region.name) = "za-cpt" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.res_mon_memory_threshold.name) = 80 + (data.coder_parameter.res_mon_volume_threshold.name) = 90 + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + } + prebuilds { + instances = 1 + } +} + +data "coder_workspace_preset" "pittsburgh" { + name = "Pittsburgh" + parameters = { + (data.coder_parameter.region.name) = "us-pittsburgh" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.res_mon_memory_threshold.name) = 80 + (data.coder_parameter.res_mon_volume_threshold.name) = 90 + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + } + prebuilds { + instances = 2 + } +} + +data "coder_workspace_preset" "falkenstein" { + name = "Falkenstein" + parameters = { + (data.coder_parameter.region.name) = "eu-helsinki" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.res_mon_memory_threshold.name) = 80 + (data.coder_parameter.res_mon_volume_threshold.name) = 90 + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + } + prebuilds { + instances = 1 + } +} + +data "coder_workspace_preset" "sydney" { + name = "Sydney" + parameters = { + (data.coder_parameter.region.name) = "ap-sydney" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.res_mon_memory_threshold.name) = 80 + (data.coder_parameter.res_mon_volume_threshold.name) = 90 + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + } + prebuilds { + instances = 1 + } +} + +data "coder_workspace_preset" "saopaulo" { + name = "São Paulo" + parameters = { + (data.coder_parameter.region.name) = "sa-saopaulo" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.res_mon_memory_threshold.name) = 80 + (data.coder_parameter.res_mon_volume_threshold.name) = 90 + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + } + prebuilds { + instances = 1 + } +} + data "coder_parameter" "repo_base_dir" { type = "string" name = "Coder Repository Base Directory" @@ -438,6 +513,14 @@ resource "docker_image" "dogfood" { } resource "docker_container" "workspace" { + lifecycle { + // Ignore changes that would invalidate prebuilds + ignore_changes = [ + name, + hostname, + labels, + ] + } count = data.coder_workspace.me.start_count image = docker_image.dogfood.name name = local.container_name From 796a5f59acdf40da1285095cb938e2f9bcd01d16 Mon Sep 17 00:00:00 2001 From: Sas Swart Date: Tue, 20 May 2025 10:31:36 +0000 Subject: [PATCH 2/2] make fmt --- dogfood/coder/main.tf | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index b68c823dbb12f..06da4d79c549a 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -33,12 +33,12 @@ locals { data "coder_workspace_preset" "cpt" { name = "Cape Town" parameters = { - (data.coder_parameter.region.name) = "za-cpt" - (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" - (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.region.name) = "za-cpt" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" (data.coder_parameter.res_mon_memory_threshold.name) = 80 (data.coder_parameter.res_mon_volume_threshold.name) = 90 - (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" } prebuilds { instances = 1 @@ -48,12 +48,12 @@ data "coder_workspace_preset" "cpt" { data "coder_workspace_preset" "pittsburgh" { name = "Pittsburgh" parameters = { - (data.coder_parameter.region.name) = "us-pittsburgh" - (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" - (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.region.name) = "us-pittsburgh" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" (data.coder_parameter.res_mon_memory_threshold.name) = 80 (data.coder_parameter.res_mon_volume_threshold.name) = 90 - (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" } prebuilds { instances = 2 @@ -63,12 +63,12 @@ data "coder_workspace_preset" "pittsburgh" { data "coder_workspace_preset" "falkenstein" { name = "Falkenstein" parameters = { - (data.coder_parameter.region.name) = "eu-helsinki" - (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" - (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.region.name) = "eu-helsinki" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" (data.coder_parameter.res_mon_memory_threshold.name) = 80 (data.coder_parameter.res_mon_volume_threshold.name) = 90 - (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" } prebuilds { instances = 1 @@ -78,12 +78,12 @@ data "coder_workspace_preset" "falkenstein" { data "coder_workspace_preset" "sydney" { name = "Sydney" parameters = { - (data.coder_parameter.region.name) = "ap-sydney" - (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" - (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.region.name) = "ap-sydney" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" (data.coder_parameter.res_mon_memory_threshold.name) = 80 (data.coder_parameter.res_mon_volume_threshold.name) = 90 - (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" } prebuilds { instances = 1 @@ -93,12 +93,12 @@ data "coder_workspace_preset" "sydney" { data "coder_workspace_preset" "saopaulo" { name = "São Paulo" parameters = { - (data.coder_parameter.region.name) = "sa-saopaulo" - (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" - (data.coder_parameter.repo_base_dir.name) = "~" + (data.coder_parameter.region.name) = "sa-saopaulo" + (data.coder_parameter.image_type.name) = "codercom/oss-dogfood:latest" + (data.coder_parameter.repo_base_dir.name) = "~" (data.coder_parameter.res_mon_memory_threshold.name) = 80 (data.coder_parameter.res_mon_volume_threshold.name) = 90 - (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" + (data.coder_parameter.res_mon_volume_path.name) = "/home/coder" } prebuilds { instances = 1