8000 feat(code-server): add machine settings option (#105) · coder/registry@0149b34 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0149b34

Browse files
authored
feat(code-server): add machine settings option (#105)
Reimplements the changes in #88 with the manual version bump to 1.1.0
1 parent 22a8b26 commit 0149b34

File tree

3 files changed

+28
-8
lines changed

3 files changed

+28
-8
lines changed

registry/coder/modules/code-server/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Automatically install [code-server](https://github.com/coder/code-server) in a w
1515
module "code-server" {
1616
count = data.coder_workspace.me.start_count
1717
source = "registry.coder.com/coder/code-server/coder"
18-
version = "1.1.0"
18+
version = "1.2.0"
1919
agent_id = coder_agent.example.id
2020
}
2121
```
@@ -30,7 +30,7 @@ module "code-server" {
3030
module "code-server" {
3131
count = data.coder_workspace.me.start_count
3232
source = "registry.coder.com/coder/code-server/coder"
33-
version = "1.1.0"
33+
version = "1.2.0"
3434
agent_id = coder_agent.example.id
3535
install_version = "4.8.3"
3636
}
@@ -44,7 +44,7 @@ Install the Dracula theme from [OpenVSX](https://open-vsx.org/):
4444
module "code-server" {
4545
count = data.coder_workspace.me.start_count
4646
source = "registry.coder.com/coder/code-server/coder"
47-
version = "1.1.0"
47+
version = "1.2.0"
4848
agent_id = coder_agent.example.id
4949
extensions = [
5050
"dracula-theme.theme-dracula"
@@ -62,7 +62,7 @@ Configure VS Code's [settings.json](https://code.visualstudio.com/docs/getstarte
6262
module "code-server" {
6363
count = data.coder_workspace.me.start_count
6464
source = "registry.coder.com/coder/code-server/coder"
65-
version = "1.1.0"
65+
version = "1.2.0"
6666
agent_id = coder_agent.example.id
6767
extensions = ["dracula-theme.theme-dracula"]
6868
settings = {
@@ -79,7 +79,7 @@ Just run code-server in the background, don't fetch it from GitHub:
7979
module "code-server" {
8080
count = data.coder_workspace.me.start_count
8181
source = "registry.coder.com/coder/code-server/coder"
82-
version = "1.1.0"
82+
version = "1.2.0"
8383
agent_id = coder_agent.example.id
8484
extensions = ["dracula-theme.theme-dracula", "ms-azuretools.vscode-docker"]
8585
}
@@ -95,7 +95,7 @@ Run an existing copy of code-server if found, otherwise download from GitHub:
9595
module "code-server" {
9696
count = data.coder_workspace.me.start_count
9797
source = "registry.coder.com/coder/code-server/coder"
98-
version = "1.1.0"
98+
version = "1.2.0"
9999
agent_id = coder_agent.example.id
100100
use_cached = true
101101
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:
108108
module "code-server" {
109109
count = data.coder_workspace.me.start_count
110110
source = "registry.coder.com/coder/code-server/coder"
111-
version = "1.1.0"
111+
version = "1.2.0"
112112
agent_id = coder_agent.example.id
113113
offline = true
114114
}

registry/coder/modules/code-server/main.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ variable "settings" {
4444
default = {}
4545
}
4646

47+
variable "machine-settings" {
48+
type = any
49+
description = "A map of template level machine settings to apply to code-server. This will be overwritten at each container start."
50+
default = {}
51+
}
52+
4753
variable "folder" {
4854
type = string
4955
description = "The folder to open in code-server."
@@ -149,6 +155,7 @@ resource "coder_script" "code-server" {
149155
INSTALL_PREFIX : var.install_prefix,
150156
// This is necessary otherwise the quotes are stripped!
151157
SETTINGS : replace(jsonencode(var.settings), "\"", "\\\""),
158+
MACHINE_SETTINGS : replace(jsonencode(var.machine-settings), "\"", "\\\""),
152159
OFFLINE : var.offline,
153160
USE_CACHED : var.use_cached,
154161
USE_CACHED_EXTENSIONS : var.use_cached_extensions,

registry/coder/modules/code-server/run.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,20 @@ function run_code_server() {
2323
if [ ! -f ~/.local/share/code-server/User/settings.json ]; then
2424
echo "⚙️ Creating settings file..."
2525
mkdir -p ~/.local/share/code-server/User
26-
echo "${SETTINGS}" > ~/.local/share/code-server/User/settings.json
26+
if command -v jq &> /dev/null; then
27+
echo "${SETTINGS}" | jq '.' > ~/.local/share/code-server/User/settings.json
28+
else
29+
echo "${SETTINGS}" > ~/.local/share/code-server/User/settings.json
30+
fi
31+
fi
32+
33+
# Apply/overwrite template based settings
34+
echo "⚙️ Creating machine settings file..."
35+
mkdir -p ~/.local/share/code-server/Machine
36+
if command -v jq &> /dev/null; then
37+
echo "${MACHINE_SETTINGS}" | jq '.' > ~/.local/share/code-server/Machine/settings.json
38+
else
39+
echo "${MACHINE_SETTINGS}" > ~/.local/share/code-server/Machine/settings.json
2740
fi
2841

2942
# Check if code-server is already installed for offline

0 commit comments

Comments
 (0)
0