feat(vscode-web): add platform settings option (#94)
This commit is contained in:
parent
55c9829a27
commit
04669ec2fa
@ -15,7 +15,7 @@ Automatically install [Visual Studio Code Server](https://code.visualstudio.com/
|
|||||||
module "vscode-web" {
|
module "vscode-web" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/vscode-web/coder"
|
source = "registry.coder.com/coder/vscode-web/coder"
|
||||||
version = "1.0.30"
|
version = "1.1.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
accept_license = true
|
accept_license = true
|
||||||
}
|
}
|
||||||
@ -31,7 +31,7 @@ module "vscode-web" {
|
|||||||
module "vscode-web" {
|
module "vscode-web" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/vscode-web/coder"
|
source = "registry.coder.com/coder/vscode-web/coder"
|
||||||
version = "1.0.30"
|
version = "1.1.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
install_prefix = "/home/coder/.vscode-web"
|
install_prefix = "/home/coder/.vscode-web"
|
||||||
folder = "/home/coder"
|
folder = "/home/coder"
|
||||||
@ -45,7 +45,7 @@ module "vscode-web" {
|
|||||||
module "vscode-web" {
|
module "vscode-web" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/vscode-web/coder"
|
source = "registry.coder.com/coder/vscode-web/coder"
|
||||||
version = "1.0.30"
|
version = "1.1.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
extensions = ["github.copilot", "ms-python.python", "ms-toolsai.jupyter"]
|
extensions = ["github.copilot", "ms-python.python", "ms-toolsai.jupyter"]
|
||||||
accept_license = true
|
accept_license = true
|
||||||
@ -60,7 +60,7 @@ Configure VS Code's [settings.json](https://code.visualstudio.com/docs/getstarte
|
|||||||
module "vscode-web" {
|
module "vscode-web" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/vscode-web/coder"
|
source = "registry.coder.com/coder/vscode-web/coder"
|
||||||
version = "1.0.30"
|
version = "1.1.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
extensions = ["dracula-theme.theme-dracula"]
|
extensions = ["dracula-theme.theme-dracula"]
|
||||||
settings = {
|
settings = {
|
||||||
@ -78,7 +78,7 @@ By default, this module installs the latest. To pin a specific version, retrieve
|
|||||||
module "vscode-web" {
|
module "vscode-web" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/vscode-web/coder"
|
source = "registry.coder.com/coder/vscode-web/coder"
|
||||||
version = "1.0.30"
|
version = "1.1.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
commit_id = "e54c774e0add60467559eb0d1e229c6452cf8447"
|
commit_id = "e54c774e0add60467559eb0d1e229c6452cf8447"
|
||||||
accept_license = true
|
accept_license = true
|
||||||
|
|||||||
@ -136,6 +136,16 @@ variable "subdomain" {
|
|||||||
default = true
|
default = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "platform" {
|
||||||
|
type = string
|
||||||
|
description = "The platform to use for the VS Code Web."
|
||||||
|
default = ""
|
||||||
|
validation {
|
||||||
|
condition = var.platform == "" || var.platform == "linux" || var.platform == "darwin" || var.platform == "alpine" || var.platform == "win32"
|
||||||
|
error_message = "Incorrect value. Please set either 'linux', 'darwin', or 'alpine' or 'win32'."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
data "coder_workspace_owner" "me" {}
|
data "coder_workspace_owner" "me" {}
|
||||||
data "coder_workspace" "me" {}
|
data "coder_workspace" "me" {}
|
||||||
|
|
||||||
@ -158,6 +168,7 @@ resource "coder_script" "vscode-web" {
|
|||||||
AUTO_INSTALL_EXTENSIONS : var.auto_install_extensions,
|
AUTO_INSTALL_EXTENSIONS : var.auto_install_extensions,
|
||||||
SERVER_BASE_PATH : local.server_base_path,
|
SERVER_BASE_PATH : local.server_base_path,
|
||||||
COMMIT_ID : var.commit_id,
|
COMMIT_ID : var.commit_id,
|
||||||
|
PLATFORM : var.platform,
|
||||||
})
|
})
|
||||||
run_on_start = true
|
run_on_start = true
|
||||||
|
|
||||||
|
|||||||
@ -59,15 +59,26 @@ case "$ARCH" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Detect the platform
|
||||||
|
if [ -n "${PLATFORM}" ]; then
|
||||||
|
DETECTED_PLATFORM="${PLATFORM}"
|
||||||
|
elif [ -f /etc/alpine-release ] || grep -qi 'ID=alpine' /etc/os-release 2>/dev/null || command -v apk > /dev/null 2>&1; then
|
||||||
|
DETECTED_PLATFORM="alpine"
|
||||||
|
elif [ "$(uname -s)" = "Darwin" ]; then
|
||||||
|
DETECTED_PLATFORM="darwin"
|
||||||
|
else
|
||||||
|
DETECTED_PLATFORM="linux"
|
||||||
|
fi
|
||||||
|
|
||||||
# Check if a specific VS Code Web commit ID was provided
|
# Check if a specific VS Code Web commit ID was provided
|
||||||
if [ -n "${COMMIT_ID}" ]; then
|
if [ -n "${COMMIT_ID}" ]; then
|
||||||
HASH="${COMMIT_ID}"
|
HASH="${COMMIT_ID}"
|
||||||
else
|
else
|
||||||
HASH=$(curl -fsSL https://update.code.visualstudio.com/api/commits/stable/server-linux-$ARCH-web | cut -d '"' -f 2)
|
HASH=$(curl -fsSL https://update.code.visualstudio.com/api/commits/stable/server-$DETECTED_PLATFORM-$ARCH-web | cut -d '"' -f 2)
|
||||||
fi
|
fi
|
||||||
printf "$${BOLD}VS Code Web commit id version $HASH.\n"
|
printf "$${BOLD}VS Code Web commit id version $HASH.\n"
|
||||||
|
|
||||||
output=$(curl -fsSL "https://vscode.download.prss.microsoft.com/dbazure/download/stable/$HASH/vscode-server-linux-$ARCH-web.tar.gz" | tar -xz -C "${INSTALL_PREFIX}" --strip-components 1)
|
output=$(curl -fsSL "https://vscode.download.prss.microsoft.com/dbazure/download/stable/$HASH/vscode-server-$DETECTED_PLATFORM-$ARCH-web.tar.gz" | tar -xz -C "${INSTALL_PREFIX}" --strip-components 1)
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "Failed to install Microsoft Visual Studio Code Server: $output"
|
echo "Failed to install Microsoft Visual Studio Code Server: $output"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user