3 Commits

Author SHA1 Message Date
octoturge e8a8f93f9d fix: strip extension IDs unresolvable via Open VSX from all profiles
Provision Coder Templates / provision (push) Successful in 2m3s
code-server installs extensions from Open VSX by default (not the MS
Marketplace), and treats a single not-found extension as fatal to
startup - one bad ID in a profile takes the whole workspace down, as
seen live across two prior fixes for templates/web alone.

Checked every extension ID in all 6 templates against the Open VSX API
and dropped whichever 404'd:
- web: 91 -> 55 (mostly Pug/Tailwind-ecosystem extensions never
  published to Open VSX, plus the 5 private octoturge.octoturge-*
  devpacks, which can't resolve via any public registry)
- cobol: 27 -> 16 (rocketsoftware.rocket-cobol and Microsoft
  IntelliCode/Remote-Containers, license-restricted to the MS
  Marketplace, among others)
- python: 12 -> 8 (ms-python.vscode-pylance and the Remote-* family,
  also MS-Marketplace-only by license)
- 3d-printing: 34 -> 24
- default and ttrpg: no changes needed, already clean

octoturge's private devpacks aren't republished anywhere here - if
wanted, they'd need a private/self-hosted Open VSX-compatible registry
or manual .vsix installation post-boot.
2026-08-26 20:29:49 +02:00
octoturge 557d6a3d84 fix(web): drop unresolvable 89netram.hotheaded-vscode extension
Provision Coder Templates / provision (push) Successful in 2m6s
Blocked code-server startup entirely (extension install failure was
fatal, code-server never came up -> "connection was refused" on the
agent's proxy port). The id is also miscased in the profile (should be
89netraM, capital M) and the real extension is a Windows-only joke
("Hotheaded VS Code" - screams at you on errors), not something with
any use in a headless Linux code-server container, so dropping it
outright rather than fixing the casing.
2026-08-26 18:51:01 +02:00
octoturge 354536dad5 fix: use sudo for /opt/coder setup in cli_setup_wizard and install_skills
Provision Coder Templates / provision (push) Successful in 2m5s
The coder_agent's coder_script resources run as the unprivileged coder
user, which can't mkdir under root-owned /opt. Every template hit this
identically (mkdir: cannot create directory '/opt/coder': Permission
denied) since coder_script content is shared verbatim across all 6.
coder has passwordless sudo everywhere, so sudo mkdir + chown to the
running user unblocks the rest of each script's non-sudo writes.
2026-08-26 18:38:46 +02:00
10 changed files with 28 additions and 16 deletions
+4 -2
View File
@@ -250,7 +250,8 @@ resource "coder_script" "cli_setup_wizard" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/cli-setup-wizard.sh"))}' | base64 -d > /opt/coder/cli-setup-wizard.sh
chmod +x /opt/coder/cli-setup-wizard.sh
@@ -305,7 +306,8 @@ resource "coder_script" "install_skills" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/install-skills.sh"))}' | base64 -d > /opt/coder/install-skills.sh
chmod +x /opt/coder/install-skills.sh
SPECIALTY_SKILLS="openscad-parametric" /opt/coder/install-skills.sh
File diff suppressed because one or more lines are too long
+4 -2
View File
@@ -250,7 +250,8 @@ resource "coder_script" "cli_setup_wizard" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/cli-setup-wizard.sh"))}' | base64 -d > /opt/coder/cli-setup-wizard.sh
chmod +x /opt/coder/cli-setup-wizard.sh
@@ -305,7 +306,8 @@ resource "coder_script" "install_skills" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/install-skills.sh"))}' | base64 -d > /opt/coder/install-skills.sh
chmod +x /opt/coder/install-skills.sh
SPECIALTY_SKILLS="cobol-teacher" /opt/coder/install-skills.sh
File diff suppressed because one or more lines are too long
+4 -2
View File
@@ -250,7 +250,8 @@ resource "coder_script" "cli_setup_wizard" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/cli-setup-wizard.sh"))}' | base64 -d > /opt/coder/cli-setup-wizard.sh
chmod +x /opt/coder/cli-setup-wizard.sh
@@ -306,7 +307,8 @@ resource "coder_script" "install_skills" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/install-skills.sh"))}' | base64 -d > /opt/coder/install-skills.sh
chmod +x /opt/coder/install-skills.sh
SPECIALTY_SKILLS="" /opt/coder/install-skills.sh
+4 -2
View File
@@ -250,7 +250,8 @@ resource "coder_script" "cli_setup_wizard" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/cli-setup-wizard.sh"))}' | base64 -d > /opt/coder/cli-setup-wizard.sh
chmod +x /opt/coder/cli-setup-wizard.sh
@@ -306,7 +307,8 @@ resource "coder_script" "install_skills" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/install-skills.sh"))}' | base64 -d > /opt/coder/install-skills.sh
chmod +x /opt/coder/install-skills.sh
SPECIALTY_SKILLS="" /opt/coder/install-skills.sh
File diff suppressed because one or more lines are too long
+4 -2
View File
@@ -250,7 +250,8 @@ resource "coder_script" "cli_setup_wizard" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/cli-setup-wizard.sh"))}' | base64 -d > /opt/coder/cli-setup-wizard.sh
chmod +x /opt/coder/cli-setup-wizard.sh
@@ -306,7 +307,8 @@ resource "coder_script" "install_skills" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/install-skills.sh"))}' | base64 -d > /opt/coder/install-skills.sh
chmod +x /opt/coder/install-skills.sh
SPECIALTY_SKILLS="foundryvtt-modding ttrpg-lore-weaver" /opt/coder/install-skills.sh
+4 -2
View File
@@ -270,7 +270,8 @@ resource "coder_script" "cli_setup_wizard" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/cli-setup-wizard.sh"))}' | base64 -d > /opt/coder/cli-setup-wizard.sh
chmod +x /opt/coder/cli-setup-wizard.sh
@@ -307,7 +308,8 @@ resource "coder_script" "install_skills" {
script = <<-EOT
#!/bin/bash
set -e
mkdir -p /opt/coder
sudo mkdir -p /opt/coder
sudo chown "$(id -u):$(id -g)" /opt/coder
echo '${base64encode(file("${path.module}/install-skills.sh"))}' | base64 -d > /opt/coder/install-skills.sh
chmod +x /opt/coder/install-skills.sh
SPECIALTY_SKILLS="" /opt/coder/install-skills.sh
File diff suppressed because one or more lines are too long