From 46a4113e5122466586d13ee92afca24f9921e6f2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 12:51:23 +0500 Subject: [PATCH 1/6] chore(deps): bump google-github-actions/setup-gcloud from 2.1.2 to 2.1.4 (#396) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/deploy-registry.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-registry.yaml b/.github/workflows/deploy-registry.yaml index 0a56b5c2..9e78e04a 100644 --- a/.github/workflows/deploy-registry.yaml +++ b/.github/workflows/deploy-registry.yaml @@ -26,7 +26,7 @@ jobs: service_account: registry-v2-github@coder-registry-1.iam.gserviceaccount.com - name: Set up Google Cloud SDK - uses: google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a + uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # For the time being, let's have the first couple merges to main in modules deploy a new version # to *dev*. Once we review and make sure everything's working, we can deploy a new version to *main*. From 4a93bf11e7646cbd75942c85fcdd49b4c1f0e453 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 12:55:53 +0500 Subject: [PATCH 2/6] chore(deps): bump google-github-actions/auth from 2.1.7 to 2.1.8 (#395) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/deploy-registry.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-registry.yaml b/.github/workflows/deploy-registry.yaml index 9e78e04a..7a67cc83 100644 --- a/.github/workflows/deploy-registry.yaml +++ b/.github/workflows/deploy-registry.yaml @@ -20,7 +20,7 @@ jobs: uses: actions/checkout@v4 - name: Authenticate to Google Cloud - uses: google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f + uses: google-github-actions/auth@71f986410dfbc7added4569d411d040a91dc6935 with: workload_identity_provider: projects/309789351055/locations/global/workloadIdentityPools/github-actions/providers/github service_account: registry-v2-github@coder-registry-1.iam.gserviceaccount.com From 19cdb783190c242a6ea6497d3969c3d1f2071040 Mon Sep 17 00:00:00 2001 From: Edward Angert Date: Tue, 4 Feb 2025 13:18:49 -0500 Subject: [PATCH 3/6] docs: add jetbrains min requirements note and link (#397) --- jetbrains-gateway/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jetbrains-gateway/README.md b/jetbrains-gateway/README.md index a3269a4c..73c1e128 100644 --- a/jetbrains-gateway/README.md +++ b/jetbrains-gateway/README.md @@ -11,6 +11,9 @@ tags: [ide, jetbrains, helper, parameter] This module adds a JetBrains Gateway Button to open any workspace with a single click. +JetBrains recommends a minimum of 4 CPU cores and 8GB of RAM. +Consult the [JetBrains documentation](https://www.jetbrains.com/help/idea/prerequisites.html#min_requirements) to confirm other system requirements. + ```tf module "jetbrains_gateway" { count = data.coder_workspace.me.start_count From 6e66ff59a33e117077e5e093271f4d8dbb8036c6 Mon Sep 17 00:00:00 2001 From: Charles Augello Date: Tue, 4 Feb 2025 17:42:53 -0500 Subject: [PATCH 4/6] fix(dotfiles): handle failures in dotfiles installation (#387) --- dotfiles/README.md | 12 ++++++------ dotfiles/run.sh | 3 +++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dotfiles/README.md b/dotfiles/README.md index fb54bab7..4a911f87 100644 --- a/dotfiles/README.md +++ b/dotfiles/README.md @@ -19,7 +19,7 @@ Under the hood, this module uses the [coder dotfiles](https://coder.com/docs/v2/ module "dotfiles" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/dotfiles/coder" - version = "1.0.18" + version = "1.0.29" agent_id = coder_agent.example.id } ``` @@ -32,7 +32,7 @@ module "dotfiles" { module "dotfiles" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/dotfiles/coder" - version = "1.0.18" + version = "1.0.29" agent_id = coder_agent.example.id } ``` @@ -43,7 +43,7 @@ module "dotfiles" { module "dotfiles" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/dotfiles/coder" - version = "1.0.18" + version = "1.0.29" agent_id = coder_agent.example.id user = "root" } @@ -55,14 +55,14 @@ module "dotfiles" { module "dotfiles" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/dotfiles/coder" - version = "1.0.18" + version = "1.0.29" agent_id = coder_agent.example.id } module "dotfiles-root" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/dotfiles/coder" - version = "1.0.18" + version = "1.0.29" agent_id = coder_agent.example.id user = "root" dotfiles_uri = module.dotfiles.dotfiles_uri @@ -77,7 +77,7 @@ You can set a default dotfiles repository for all users by setting the `default_ module "dotfiles" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/dotfiles/coder" - version = "1.0.18" + version = "1.0.29" agent_id = coder_agent.example.id default_dotfiles_uri = "https://github.com/coder/dotfiles" } diff --git a/dotfiles/run.sh b/dotfiles/run.sh index 94634392..e0599418 100644 --- a/dotfiles/run.sh +++ b/dotfiles/run.sh @@ -1,4 +1,7 @@ #!/usr/bin/env bash + +set -euo pipefail + DOTFILES_URI="${DOTFILES_URI}" DOTFILES_USER="${DOTFILES_USER}" From 22b2ad5feceed89557e5374d1197227e270fb97e Mon Sep 17 00:00:00 2001 From: dstoffel Date: Thu, 6 Feb 2025 12:57:16 +0100 Subject: [PATCH 5/6] fix(filebrowser): failed to set server_base_path if db is not existing (#393) Co-authored-by: M Atif Ali --- filebrowser/README.md | 8 ++++---- filebrowser/main.test.ts | 10 +++++----- filebrowser/run.sh | 7 ++----- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/filebrowser/README.md b/filebrowser/README.md index b111127e..13e06577 100644 --- a/filebrowser/README.md +++ b/filebrowser/README.md @@ -15,7 +15,7 @@ A file browser for your workspace. module "filebrowser" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/filebrowser/coder" - version = "1.0.23" + version = "1.0.29" agent_id = coder_agent.example.id } ``` @@ -30,7 +30,7 @@ module "filebrowser" { module "filebrowser" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/filebrowser/coder" - version = "1.0.23" + version = "1.0.29" agent_id = coder_agent.example.id folder = "/home/coder/project" } @@ -42,7 +42,7 @@ module "filebrowser" { module "filebrowser" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/filebrowser/coder" - version = "1.0.23" + version = "1.0.29" agent_id = coder_agent.example.id database_path = ".config/filebrowser.db" } @@ -54,7 +54,7 @@ module "filebrowser" { module "filebrowser" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/filebrowser/coder" - version = "1.0.23" + version = "1.0.29" agent_id = coder_agent.example.id agent_name = "main" subdomain = false diff --git a/filebrowser/main.test.ts b/filebrowser/main.test.ts index 7dd49724..368075b2 100644 --- a/filebrowser/main.test.ts +++ b/filebrowser/main.test.ts @@ -39,7 +39,7 @@ describe("filebrowser", async () => { "", "📂 Serving /root at http://localhost:13339 ", "", - "Running 'filebrowser --noauth --root /root --port 13339' ", + "Running 'filebrowser --noauth --root /root --port 13339 --baseurl ' ", "", "📝 Logs at /tmp/filebrowser.log", ]); @@ -61,7 +61,7 @@ describe("filebrowser", async () => { "", "📂 Serving /root at http://localhost:13339 ", "", - "Running 'filebrowser --noauth --root /root --port 13339 -d .config/filebrowser.db' ", + "Running 'filebrowser --noauth --root /root --port 13339 -d .config/filebrowser.db --baseurl ' ", "", "📝 Logs at /tmp/filebrowser.log", ]); @@ -75,7 +75,7 @@ describe("filebrowser", async () => { const output = await executeScriptInContainer(state, "alpine"); expect(output.exitCode).toBe(0); expect(output.stdout).toEqual([ - "\u001B[0;1mInstalling filebrowser ", + "\u001b[0;1mInstalling filebrowser ", "", "🥳 Installation complete! ", "", @@ -83,7 +83,7 @@ describe("filebrowser", async () => { "", "📂 Serving /home/coder/project at http://localhost:13339 ", "", - "Running 'filebrowser --noauth --root /home/coder/project --port 13339' ", + "Running 'filebrowser --noauth --root /home/coder/project --port 13339 --baseurl ' ", "", "📝 Logs at /tmp/filebrowser.log", ]); @@ -106,7 +106,7 @@ describe("filebrowser", async () => { "", "📂 Serving /root at http://localhost:13339 ", "", - "Running 'filebrowser --noauth --root /root --port 13339' ", + "Running 'filebrowser --noauth --root /root --port 13339 --baseurl /@default/default.main/apps/filebrowser' ", "", "📝 Logs at /tmp/filebrowser.log", ]); diff --git a/filebrowser/run.sh b/filebrowser/run.sh index 6931f05e..d6afea02 100644 --- a/filebrowser/run.sh +++ b/filebrowser/run.sh @@ -21,13 +21,10 @@ if [ "${DB_PATH}" != "filebrowser.db" ]; then DB_FLAG=" -d ${DB_PATH}" fi -# set baseurl to be able to run if sudomain=false; if subdomain=true the SERVER_BASE_PATH value will be "" -filebrowser config set --baseurl "${SERVER_BASE_PATH}"$${DB_FLAG} > ${LOG_PATH} 2>&1 - printf "📂 Serving $${ROOT_DIR} at http://localhost:${PORT} \n\n" -printf "Running 'filebrowser --noauth --root $ROOT_DIR --port ${PORT}$${DB_FLAG}' \n\n" +printf "Running 'filebrowser --noauth --root $ROOT_DIR --port ${PORT}$${DB_FLAG} --baseurl ${SERVER_BASE_PATH}' \n\n" -filebrowser --noauth --root $ROOT_DIR --port ${PORT}$${DB_FLAG} > ${LOG_PATH} 2>&1 & +filebrowser --noauth --root $ROOT_DIR --port ${PORT}$${DB_FLAG} --baseurl ${SERVER_BASE_PATH} > ${LOG_PATH} 2>&1 & printf "📝 Logs at ${LOG_PATH} \n\n" From d78925d05fb1a8e9aced82900e4319238a7f6671 Mon Sep 17 00:00:00 2001 From: M Atif Ali Date: Thu, 6 Feb 2025 19:25:46 +0500 Subject: [PATCH 6/6] fix: handle extensions.json comments in vscode-web and code-server (#398) --- code-server/README.md | 14 +++++++------- code-server/run.sh | 3 ++- vscode-web/README.md | 8 ++++---- vscode-web/run.sh | 3 ++- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/code-server/README.md b/code-server/README.md index 7e2c9c60..40fbb788 100644 --- a/code-server/README.md +++ b/code-server/README.md @@ -15,7 +15,7 @@ Automatically install [code-server](https://github.com/coder/code-server) in a w module "code-server" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/code-server/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id } ``` @@ -30,7 +30,7 @@ module "code-server" { module "code-server" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/code-server/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id install_version = "4.8.3" } @@ -44,7 +44,7 @@ Install the Dracula theme from [OpenVSX](https://open-vsx.org/): module "code-server" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/code-server/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id extensions = [ "dracula-theme.theme-dracula" @@ -62,7 +62,7 @@ Configure VS Code's [settings.json](https://code.visualstudio.com/docs/getstarte module "code-server" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/code-server/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id extensions = ["dracula-theme.theme-dracula"] settings = { @@ -79,7 +79,7 @@ Just run code-server in the background, don't fetch it from GitHub: module "code-server" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/code-server/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id extensions = ["dracula-theme.theme-dracula", "ms-azuretools.vscode-docker"] } @@ -95,7 +95,7 @@ Run an existing copy of code-server if found, otherwise download from GitHub: module "code-server" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/code-server/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id use_cached = true extensions = ["dracula-theme.theme-dracula", "ms-azuretools.vscode-docker"] @@ -108,7 +108,7 @@ Just run code-server in the background, don't fetch it from GitHub: module "code-server" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/code-server/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id offline = true } diff --git a/code-server/run.sh b/code-server/run.sh index 9af391e0..457cff7f 100755 --- a/code-server/run.sh +++ b/code-server/run.sh @@ -104,7 +104,8 @@ if [ "${AUTO_INSTALL_EXTENSIONS}" = true ]; then if [ -f "$WORKSPACE_DIR/.vscode/extensions.json" ]; then printf "🧩 Installing extensions from %s/.vscode/extensions.json...\n" "$WORKSPACE_DIR" - extensions=$(jq -r '.recommendations[]' "$WORKSPACE_DIR"/.vscode/extensions.json) + # Use sed to remove single-line comments before parsing with jq + extensions=$(sed 's|//.*||g' "$WORKSPACE_DIR"/.vscode/extensions.json | jq -r '.recommendations[]') for extension in $extensions; do if extension_installed "$extension"; then continue diff --git a/vscode-web/README.md b/vscode-web/README.md index a50fe2b7..7d22feaa 100644 --- a/vscode-web/README.md +++ b/vscode-web/README.md @@ -15,7 +15,7 @@ Automatically install [Visual Studio Code Server](https://code.visualstudio.com/ module "vscode-web" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/vscode-web/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id accept_license = true } @@ -31,7 +31,7 @@ module "vscode-web" { module "vscode-web" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/vscode-web/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id install_prefix = "/home/coder/.vscode-web" folder = "/home/coder" @@ -45,7 +45,7 @@ module "vscode-web" { module "vscode-web" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/vscode-web/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id extensions = ["github.copilot", "ms-python.python", "ms-toolsai.jupyter"] accept_license = true @@ -60,7 +60,7 @@ Configure VS Code's [settings.json](https://code.visualstudio.com/docs/getstarte module "vscode-web" { count = data.coder_workspace.me.start_count source = "registry.coder.com/modules/vscode-web/coder" - version = "1.0.26" + version = "1.0.29" agent_id = coder_agent.example.id extensions = ["dracula-theme.theme-dracula"] settings = { diff --git a/vscode-web/run.sh b/vscode-web/run.sh index 1738364e..c3423dff 100755 --- a/vscode-web/run.sh +++ b/vscode-web/run.sh @@ -92,7 +92,8 @@ if [ "${AUTO_INSTALL_EXTENSIONS}" = true ]; then if [ -f "$WORKSPACE_DIR/.vscode/extensions.json" ]; then printf "🧩 Installing extensions from %s/.vscode/extensions.json...\n" "$WORKSPACE_DIR" - extensions=$(jq -r '.recommendations[]' "$WORKSPACE_DIR"/.vscode/extensions.json) + # Use sed to remove single-line comments before parsing with jq + extensions=$(sed 's|//.*||g' "$WORKSPACE_DIR"/.vscode/extensions.json | jq -r '.recommendations[]') for extension in $extensions; do $VSCODE_WEB "$EXTENSION_ARG" --install-extension "$extension" --force done