diff --git a/vscode-web/README.md b/vscode-web/README.md index a5a4b0d..cdfac97 100644 --- a/vscode-web/README.md +++ b/vscode-web/README.md @@ -69,3 +69,18 @@ module "vscode-web" { accept_license = true } ``` + +### Pin a specific VS Code Web version + +By default, this module installs the latest. To pin a specific version, retrieve the commit ID from the [VS Code Update API](https://update.code.visualstudio.com/api/commits/stable/server-linux-x64-web) and verify its corresponding release on the [VS Code GitHub Releases](https://github.com/microsoft/vscode/releases). + +```tf +module "vscode-web" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/modules/vscode-web/coder" + version = "1.0.30" + agent_id = coder_agent.example.id + commit_id = "e54c774e0add60467559eb0d1e229c6452cf8447" + accept_license = true +} +``` diff --git a/vscode-web/main.tf b/vscode-web/main.tf index 3b1a4ef..11e220c 100644 --- a/vscode-web/main.tf +++ b/vscode-web/main.tf @@ -59,7 +59,7 @@ variable "install_prefix" { default = "/tmp/vscode-web" } -variable "vscode_web_commit_id" { +variable "commit_id" { type = string description = "Specify the commit ID of the VS Code Web binary to pin to a specific version. If left empty, the latest stable version is used." default = "" @@ -157,7 +157,7 @@ resource "coder_script" "vscode-web" { FOLDER : var.folder, AUTO_INSTALL_EXTENSIONS : var.auto_install_extensions, SERVER_BASE_PATH : local.server_base_path, - VSCODE_WEB_COMMIT_ID : var.vscode_web_commit_id, + COMMIT_ID : var.commit_id, }) run_on_start = true diff --git a/vscode-web/run.sh b/vscode-web/run.sh index 0392751..588cec5 100755 --- a/vscode-web/run.sh +++ b/vscode-web/run.sh @@ -60,8 +60,8 @@ case "$ARCH" in esac # Check if a specific VS Code Web commit ID was provided -if [ -n "${VSCODE_WEB_COMMIT_ID}" ]; then - HASH="${VSCODE_WEB_COMMIT_ID}" +if [ -n "${COMMIT_ID}" ]; then + HASH="${COMMIT_ID}" else HASH=$(curl -fsSL https://update.code.visualstudio.com/api/commits/stable/server-linux-$ARCH-web | cut -d '"' -f 2) fi