feat(code-server): add machine settings option (#105)
Reimplements the changes in https://github.com/coder/registry/pull/88 with the manual version bump to 1.1.0
This commit is contained in:
parent
22a8b2614b
commit
0149b34006
@ -15,7 +15,7 @@ Automatically install [code-server](https://github.com/coder/code-server) in a w
|
|||||||
module "code-server" {
|
module "code-server" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/code-server/coder"
|
source = "registry.coder.com/coder/code-server/coder"
|
||||||
version = "1.1.0"
|
version = "1.2.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@ -30,7 +30,7 @@ module "code-server" {
|
|||||||
module "code-server" {
|
module "code-server" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/code-server/coder"
|
source = "registry.coder.com/coder/code-server/coder"
|
||||||
version = "1.1.0"
|
version = "1.2.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
install_version = "4.8.3"
|
install_version = "4.8.3"
|
||||||
}
|
}
|
||||||
@ -44,7 +44,7 @@ Install the Dracula theme from [OpenVSX](https://open-vsx.org/):
|
|||||||
module "code-server" {
|
module "code-server" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/code-server/coder"
|
source = "registry.coder.com/coder/code-server/coder"
|
||||||
version = "1.1.0"
|
version = "1.2.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
extensions = [
|
extensions = [
|
||||||
"dracula-theme.theme-dracula"
|
"dracula-theme.theme-dracula"
|
||||||
@ -62,7 +62,7 @@ Configure VS Code's [settings.json](https://code.visualstudio.com/docs/getstarte
|
|||||||
module "code-server" {
|
module "code-server" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/code-server/coder"
|
source = "registry.coder.com/coder/code-server/coder"
|
||||||
version = "1.1.0"
|
version = "1.2.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 = {
|
||||||
@ -79,7 +79,7 @@ Just run code-server in the background, don't fetch it from GitHub:
|
|||||||
module "code-server" {
|
module "code-server" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/code-server/coder"
|
source = "registry.coder.com/coder/code-server/coder"
|
||||||
version = "1.1.0"
|
version = "1.2.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
extensions = ["dracula-theme.theme-dracula", "ms-azuretools.vscode-docker"]
|
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" {
|
module "code-server" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/code-server/coder"
|
source = "registry.coder.com/coder/code-server/coder"
|
||||||
version = "1.1.0"
|
version = "1.2.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
use_cached = true
|
use_cached = true
|
||||||
extensions = ["dracula-theme.theme-dracula", "ms-azuretools.vscode-docker"]
|
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" {
|
module "code-server" {
|
||||||
count = data.coder_workspace.me.start_count
|
count = data.coder_workspace.me.start_count
|
||||||
source = "registry.coder.com/coder/code-server/coder"
|
source = "registry.coder.com/coder/code-server/coder"
|
||||||
version = "1.1.0"
|
version = "1.2.0"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
offline = true
|
offline = true
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,6 +44,12 @@ variable "settings" {
|
|||||||
default = {}
|
default = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "machine-settings" {
|
||||||
|
type = any
|
||||||
|
description = "A map of template level machine settings to apply to code-server. This will be overwritten at each container start."
|
||||||
|
default = {}
|
||||||
|
}
|
||||||
|
|
||||||
variable "folder" {
|
variable "folder" {
|
||||||
type = string
|
type = string
|
||||||
description = "The folder to open in code-server."
|
description = "The folder to open in code-server."
|
||||||
@ -149,6 +155,7 @@ resource "coder_script" "code-server" {
|
|||||||
INSTALL_PREFIX : var.install_prefix,
|
INSTALL_PREFIX : var.install_prefix,
|
||||||
// This is necessary otherwise the quotes are stripped!
|
// This is necessary otherwise the quotes are stripped!
|
||||||
SETTINGS : replace(jsonencode(var.settings), "\"", "\\\""),
|
SETTINGS : replace(jsonencode(var.settings), "\"", "\\\""),
|
||||||
|
MACHINE_SETTINGS : replace(jsonencode(var.machine-settings), "\"", "\\\""),
|
||||||
OFFLINE : var.offline,
|
OFFLINE : var.offline,
|
||||||
USE_CACHED : var.use_cached,
|
USE_CACHED : var.use_cached,
|
||||||
USE_CACHED_EXTENSIONS : var.use_cached_extensions,
|
USE_CACHED_EXTENSIONS : var.use_cached_extensions,
|
||||||
|
|||||||
@ -23,7 +23,20 @@ function run_code_server() {
|
|||||||
if [ ! -f ~/.local/share/code-server/User/settings.json ]; then
|
if [ ! -f ~/.local/share/code-server/User/settings.json ]; then
|
||||||
echo "⚙️ Creating settings file..."
|
echo "⚙️ Creating settings file..."
|
||||||
mkdir -p ~/.local/share/code-server/User
|
mkdir -p ~/.local/share/code-server/User
|
||||||
echo "${SETTINGS}" > ~/.local/share/code-server/User/settings.json
|
if command -v jq &> /dev/null; then
|
||||||
|
echo "${SETTINGS}" | jq '.' > ~/.local/share/code-server/User/settings.json
|
||||||
|
else
|
||||||
|
echo "${SETTINGS}" > ~/.local/share/code-server/User/settings.json
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Apply/overwrite template based settings
|
||||||
|
echo "⚙️ Creating machine settings file..."
|
||||||
|
mkdir -p ~/.local/share/code-server/Machine
|
||||||
|
if command -v jq &> /dev/null; then
|
||||||
|
echo "${MACHINE_SETTINGS}" | jq '.' > ~/.local/share/code-server/Machine/settings.json
|
||||||
|
else
|
||||||
|
echo "${MACHINE_SETTINGS}" > ~/.local/share/code-server/Machine/settings.json
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if code-server is already installed for offline
|
# Check if code-server is already installed for offline
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user