From 9defdb4af27523215337347690f378418957a985 Mon Sep 17 00:00:00 2001 From: "blinkagent[bot]" <237617714+blinkagent[bot]@users.noreply.github.com> Date: Wed, 24 Jun 2026 10:31:14 -0600 Subject: [PATCH] chore(dogfood): remove unused parameters from coder template (#26668) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removes the following parameters from the dogfood `coder` template that no one was using: - `repo_base_dir` (hardcoded to `/home/coder`) - `res_mon_memory_threshold` (hardcoded to `80`) - `res_mon_volume_threshold` (hardcoded to `90`) - `res_mon_volume_path` (hardcoded to `/home/coder`) - `enable_ai_gateway` (hardcoded to `true`) - `vscode_channel` (hardcoded to `stable`) The underlying values match each parameter's previous default, so existing workspaces continue to function identically — these just don't appear as configurable inputs anymore. `ide_choices` is kept per @Emyrk's review. `var.anthropic_api_key` and `var.openai_api_key` are left declared because they're still wired up from `.github/workflows/dogfood.yaml`. They're effectively unused now (AI Gateway is always on) but removing them would require coordinated workflow changes. Requested by @kylecarbs in Slack. --------- Co-authored-by: blink-so[bot] <211532188+blink-so[bot]@users.noreply.github.com> --- dogfood/coder/main.tf | 127 ++++++++---------------------------------- 1 file changed, 22 insertions(+), 105 deletions(-) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index 0f6e9e9a64..d0026a2bd4 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -34,7 +34,7 @@ locals { "za-cpt" = "tcp://schonkopf-cpt-cdr-dev.tailscale.svc.cluster.local:2375" } - repo_base_dir = data.coder_parameter.repo_base_dir.value == "~" ? "/home/coder" : replace(data.coder_parameter.repo_base_dir.value, "/^~\\//", "/home/coder/") + repo_base_dir = "/home/coder" repo_dir = replace(try(module.git-clone[0].repo_dir, ""), "/^~\\//", "/home/coder/") container_name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}" @@ -50,12 +50,8 @@ data "coder_workspace_preset" "pittsburgh" { description = "Development workspace hosted in United States with 2 prebuild instances" icon = "/emojis/1f1fa-1f1f8.png" parameters = { - (data.coder_parameter.region.name) = "us-pittsburgh" - (data.coder_parameter.image_type.name) = data.coder_parameter.image_type.default - (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.region.name) = "us-pittsburgh" + (data.coder_parameter.image_type.name) = data.coder_parameter.image_type.default } prebuilds { instances = 2 @@ -67,12 +63,8 @@ data "coder_workspace_preset" "cpt" { description = "Development workspace hosted in South Africa with 1 prebuild instance" icon = "/emojis/1f1ff-1f1e6.png" parameters = { - (data.coder_parameter.region.name) = "za-cpt" - (data.coder_parameter.image_type.name) = data.coder_parameter.image_type.default - (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.region.name) = "za-cpt" + (data.coder_parameter.image_type.name) = data.coder_parameter.image_type.default } prebuilds { instances = 1 @@ -84,12 +76,8 @@ data "coder_workspace_preset" "falkenstein" { description = "Development workspace hosted in Europe with 1 prebuild instance" icon = "/emojis/1f1ea-1f1fa.png" parameters = { - (data.coder_parameter.region.name) = "eu-helsinki" - (data.coder_parameter.image_type.name) = data.coder_parameter.image_type.default - (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.region.name) = "eu-helsinki" + (data.coder_parameter.image_type.name) = data.coder_parameter.image_type.default } prebuilds { instances = 1 @@ -101,26 +89,14 @@ data "coder_workspace_preset" "sydney" { description = "Development workspace hosted in Australia with 1 prebuild instance" icon = "/emojis/1f1e6-1f1fa.png" parameters = { - (data.coder_parameter.region.name) = "ap-sydney" - (data.coder_parameter.image_type.name) = data.coder_parameter.image_type.default - (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.region.name) = "ap-sydney" + (data.coder_parameter.image_type.name) = data.coder_parameter.image_type.default } prebuilds { instances = 1 } } -data "coder_parameter" "repo_base_dir" { - type = "string" - name = "Coder Repository Base Directory" - default = "~" - description = "The directory specified will be created (if missing) and [coder/coder](https://github.com/coder/coder) will be automatically cloned into [base directory]/coder 🪄." - mutable = true -} - locals { image_tags = { // Older style option values, where the option value was just supposed to @@ -194,38 +170,6 @@ data "coder_parameter" "region" { } } -data "coder_parameter" "res_mon_memory_threshold" { - type = "number" - name = "Memory usage threshold" - default = 80 - description = "The memory usage threshold used in resources monitoring to trigger notifications." - mutable = true - validation { - min = 0 - max = 100 - } -} - -data "coder_parameter" "res_mon_volume_threshold" { - type = "number" - name = "Volume usage threshold" - default = 90 - description = "The volume usage threshold used in resources monitoring to trigger notifications." - mutable = true - validation { - min = 0 - max = 100 - } -} - -data "coder_parameter" "res_mon_volume_path" { - type = "string" - name = "Volume path" - default = "/home/coder" - description = "The path monitored in resources monitoring to trigger notifications." - mutable = true -} - data "coder_parameter" "devcontainer_autostart" { type = "bool" name = "Automatically start devcontainer for coder/coder" @@ -234,17 +178,9 @@ data "coder_parameter" "devcontainer_autostart" { mutable = true } -data "coder_parameter" "enable_ai_gateway" { - type = "bool" - name = "Use AI Gateway" - default = true - description = "If enabled, AI requests will be sent via AI Gateway." - mutable = true -} - -# Only used if AI Gateway is disabled. # dogfood/main.tf injects this value from a GH Actions secret; # `coderd_template.dogfood` passes the value injected by .github/workflows/dogfood.yaml in `TF_VAR_CODER_DOGFOOD_ANTHROPIC_API_KEY` and `TF_VAR_CODER_DOGFOOD_OPENAI_API_KEY`. +# Currently unused since AI Gateway is always enabled, but kept for emergency fallback. variable "anthropic_api_key" { type = string description = "The API key used to authenticate with the Anthropic API, if AI Bridge is disabled." @@ -329,25 +265,6 @@ data "coder_parameter" "ide_choices" { } } -data "coder_parameter" "vscode_channel" { - count = contains(jsondecode(data.coder_parameter.ide_choices.value), "vscode") ? 1 : 0 - type = "string" - name = "VS Code Desktop channel" - description = "Choose the VS Code Desktop channel" - mutable = true - default = "stable" - option { - value = "stable" - name = "Stable" - icon = "/icon/code.svg" - } - option { - value = "insiders" - name = "Insiders" - icon = "/icon/code-insiders.svg" - } -} - module "slackme" { count = data.coder_workspace.me.start_count source = "dev.registry.coder.com/coder/slackme/coder" @@ -517,18 +434,18 @@ resource "coder_agent" "dev" { # and is recreated with the container on workspace restart. MISE_DATA_DIR : "/home/coder/.local/share/mise", }, - data.coder_parameter.enable_ai_gateway.value ? { + { ANTHROPIC_BASE_URL : "https://dev.coder.com/api/v2/aibridge/anthropic", ANTHROPIC_AUTH_TOKEN : data.coder_workspace_owner.me.session_token, OPENAI_BASE_URL : "https://dev.coder.com/api/v2/aibridge/openai/v1", OPENAI_API_KEY : data.coder_workspace_owner.me.session_token, - } : {} + } ) startup_script_behavior = "blocking" display_apps { - vscode = contains(jsondecode(data.coder_parameter.ide_choices.value), "vscode") && try(data.coder_parameter.vscode_channel[0].value, "stable") == "stable" - vscode_insiders = contains(jsondecode(data.coder_parameter.ide_choices.value), "vscode") && try(data.coder_parameter.vscode_channel[0].value, "stable") == "insiders" + vscode = contains(jsondecode(data.coder_parameter.ide_choices.value), "vscode") + vscode_insiders = false } # The following metadata blocks are optional. They are used to display @@ -585,16 +502,16 @@ resource "coder_agent" "dev" { resources_monitoring { memory { enabled = true - threshold = data.coder_parameter.res_mon_memory_threshold.value + threshold = 80 } volume { enabled = true - threshold = data.coder_parameter.res_mon_volume_threshold.value - path = data.coder_parameter.res_mon_volume_path.value + threshold = 90 + path = "/home/coder" } volume { enabled = true - threshold = data.coder_parameter.res_mon_volume_threshold.value + threshold = 90 path = "/var/lib/docker" } } @@ -1007,8 +924,8 @@ module "claude-code" { count = data.coder_workspace.me.start_count source = "dev.registry.coder.com/coder/claude-code/coder" version = "5.2.0" - enable_ai_gateway = data.coder_parameter.enable_ai_gateway.value - anthropic_api_key = data.coder_parameter.enable_ai_gateway.value ? "" : var.anthropic_api_key + enable_ai_gateway = true + anthropic_api_key = "" agent_id = coder_agent.dev.id workdir = local.repo_dir mcp = <<-EOF @@ -1042,8 +959,8 @@ module "codex" { version = "5.2.0" agent_id = coder_agent.dev.id workdir = local.repo_dir - enable_ai_gateway = data.coder_parameter.enable_ai_gateway.value - openai_api_key = data.coder_parameter.enable_ai_gateway.value ? "" : var.openai_api_key + enable_ai_gateway = true + openai_api_key = "" mcp = <<-EOT [mcp_servers.playwright] command = "npx"