Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4384a34

Browse files
fix: broken implementation and tests (#8)
- Fix how arguments are passed to `code-server`.- Pipe stdout/stderr to a log file, and make this destination configurable
1 parenta926b94 commit4384a34

13 files changed

+73
-43
lines changed

‎src/code-server/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ VS Code in the browser
2828
| disableWorkspaceTrust| Disable Workspace Trust feature. This only affects the current session.| boolean| false|
2929
| extensions| Comma-separated list of VS Code extensions to install. Format: 'publisher.extension[@version]' (e.g., 'ms-python.python,ms-azuretools.vscode-docker').| string| -|
3030
| host| The address to bind to for the code-server. Use '0.0.0.0' to listen on all interfaces.| string| 127.0.0.1|
31+
| logFile| Path to a file to send stdout and stderr logs to from code-server.| string| /tmp/code-server.log|
3132
| port| The port to bind to for the code-server.| string| 8080|
3233
| socket| Path to a socket. When specified, host and port will be ignored.| string| -|
3334
| socketMode| File mode of the socket when using the socket option.| string| -|

‎src/code-server/devcontainer-feature.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@
7070
"default":"127.0.0.1",
7171
"description":"The address to bind to for the code-server. Use '0.0.0.0' to listen on all interfaces."
7272
},
73+
"logFile": {
74+
"type":"string",
75+
"default":"/tmp/code-server.log",
76+
"description":"Path to a file to send stdout and stderr logs to from code-server."
77+
},
7378
"port": {
7479
"type":"string",
7580
"default":"8080",

‎src/code-server/install.sh

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -23,70 +23,69 @@ if [[ -n $WORKSPACE ]]; then
2323
CODE_SERVER_WORKSPACE="$WORKSPACE"
2424
fi
2525

26-
DISABLE_FLAGS=()
26+
FLAGS=()
27+
FLAGS+=(--auth"$AUTH")
28+
FLAGS+=(--bind-addr"$HOST:$PORT")
2729

2830
if [["$DISABLEFILEDOWNLOADS"=="true" ]];then
29-
DISABLE_FLAGS+=(--disable-file-downloads)
31+
FLAGS+=(--disable-file-downloads)
3032
fi
3133

3234
if [["$DISABLEFILEUPLOADS"=="true" ]];then
33-
DISABLE_FLAGS+=(--disable-file-uploads)
35+
FLAGS+=(--disable-file-uploads)
3436
fi
3537

3638
if [["$DISABLEGETTINGSTARTEDOVERRIDE"=="true" ]];then
37-
DISABLE_FLAGS+=(--disable-getting-started-override)
39+
FLAGS+=(--disable-getting-started-override)
3840
fi
3941

4042
if [["$DISABLEPROXY"=="true" ]];then
41-
DISABLE_FLAGS+=(--disable-proxy)
43+
FLAGS+=(--disable-proxy)
4244
fi
4345

4446
if [["$DISABLETELEMETRY"=="true" ]];then
45-
DISABLE_FLAGS+=(--disable-telemetry)
47+
FLAGS+=(--disable-telemetry)
4648
fi
4749

4850
if [["$DISABLEUPDATECHECK"=="true" ]];then
49-
DISABLE_FLAGS+=(--disable-update-check)
51+
FLAGS+=(--disable-update-check)
5052
fi
5153

5254
if [["$DISABLEWORKSPACETRUST"=="true" ]];then
53-
DISABLE_FLAGS+=(--disable-workspace-trust)
55+
FLAGS+=(--disable-workspace-trust)
5456
fi
5557

56-
CERT_FLAGS=()
57-
5858
if [[-n"$CERT" ]];then
59-
CERT_FLAGS+=(--cert"$CERT")
59+
FLAGS+=(--cert"$CERT")
6060
fi
6161

6262
if [[-n"$CERTHOST" ]];then
63-
CERT_FLAGS+=(--cert-host"$CERTHOST")
63+
FLAGS+=(--cert-host"$CERTHOST")
6464
fi
6565

6666
if [[-n"$CERTKEY" ]];then
67-
CERT_FLAGS+=(--cert-key"$CERTKEY")
67+
FLAGS+=(--cert-key"$CERTKEY")
6868
fi
6969

70-
SOCKET_FLAGS=()
71-
7270
if [[-n"$SOCKET" ]];then
73-
SOCKET_FLAGS+=(--socket"$SOCKET")
71+
FLAGS+=(--socket"$SOCKET")
7472
fi
7573

7674
if [[-n"$SOCKETMODE" ]];then
77-
SOCKET_FLAGS+=(--socket-mode"$SOCKETMODE")
75+
FLAGS+=(--socket-mode"$SOCKETMODE")
7876
fi
7977

80-
cat> /usr/local/bin/code-server-entrypoint \
81-
<<EOF
78+
cat> /usr/local/bin/code-server-entrypoint<<EOF
8279
#!/usr/bin/env bash
8380
set -e
8481
85-
$(declare -p DISABLE_FLAGS)
86-
$(declare -p CERT_FLAGS)
87-
$(declare -p SOCKET_FLAGS)
82+
if [[\$(whoami) != "$_REMOTE_USER" ]]; then
83+
exec su$_REMOTE_USER -c /usr/local/bin/code-server-entrypoint
84+
fi
85+
86+
$(declare -p FLAGS)
8887
89-
su$_REMOTE_USER -c 'code-server--auth "$AUTH" --bind-addr "$HOST:$PORT" "\${DISABLE_FLAGS[@]}" "\${CERT_FLAGS[@]}" "\${SOCKET_FLAGS[@]}" "$CODE_SERVER_WORKSPACE"'
88+
code-server"\${FLAGS[@]}" "$CODE_SERVER_WORKSPACE" >"$LOGFILE" 2>&1
9089
EOF
9190

9291
chmod +x /usr/local/bin/code-server-entrypoint

‎test/code-server/code-server-auth-none.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ check "code-server version" code-server --version
99
check"code-server running" pgrep -f'code-server/lib/node.*/code-server'
1010
check"code-server listening" lsof -i"@127.0.0.1:8080"
1111

12-
check"code-server auth" grep$'\'code-server.* --auth "none" .*\''< /usr/local/bin/code-server-entrypoint
12+
check"code-server auth" grep'"--auth".*"none"'< /usr/local/bin/code-server-entrypoint
1313

1414
# Report results
1515
reportResults

‎test/code-server/code-server-auth-password.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ check "code-server version" code-server --version
99
check"code-server running" pgrep -f'code-server/lib/node.*/code-server'
1010
check"code-server listening" lsof -i"@127.0.0.1:8080"
1111

12-
check"code-server auth" grep$'\'code-server.* --auth "password" .*\''< /usr/local/bin/code-server-entrypoint
12+
check"code-server auth" grep'"--auth".*"password"'< /usr/local/bin/code-server-entrypoint
1313

1414
# Report results
1515
reportResults

‎test/code-server/code-server-cert.sh

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@ set -e
44
# Optional: Import test library bundled with the devcontainer CLI
55
source dev-container-features-test-lib
66

7-
cat /usr/local/bin/code-server-entrypoint
8-
97
# Feature-specific tests
108
check"code-server version" code-server --version
119
check"code-server running" pgrep -f'code-server/lib/node.*/code-server'
1210
check"code-server listening" lsof -i"@127.0.0.1:8080"
1311

14-
check"code-server cert" grep'"--cert".*"/path/to/cert.pem"'< /usr/local/bin/code-server-entrypoint
15-
check"code-server cert-key" grep'"--cert-key".*"/path/to/key.pem"'< /usr/local/bin/code-server-entrypoint
12+
check"code-server cert" grep'"--cert".*"/home/vscode/cert.pem"'< /usr/local/bin/code-server-entrypoint
13+
check"code-server cert-key" grep'"--cert-key".*"/home/vscode/key.pem"'< /usr/local/bin/code-server-entrypoint
1614

1715
# Report results
1816
reportResults
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM mcr.microsoft.com/devcontainers/base:ubuntu
2+
3+
RUN su vscode -c"openssl req -x509 -newkey rsa:4096 -keyout /home/vscode/key.pem -out /home/vscode/cert.pem -sha256 -days 1 -nodes -subj\"/C=XX/ST=Texas/L=Austin/O=Coder/OU=Engineering/CN=dev.coder.com\""
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Optional: Import test library bundled with the devcontainer CLI
5+
source dev-container-features-test-lib
6+
7+
# Feature-specific tests
8+
check"code-server version" code-server --version
9+
check"code-server running" pgrep -f'code-server/lib/node.*/code-server'
10+
check"code-server listening" lsof -i"@0.0.0.0:8080"
11+
12+
check"code-server log-file"test -f /tmp/code-server-log-file.log
13+
check"code-server log-file content" grep"HTTP server listening on http://127.0.0.1:8080/"< /tmp/code-server-log-file.log
14+
15+
# Report results
16+
reportResults

‎test/code-server/code-server-socket-with-mode.sh

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,12 @@ set -e
44
# Optional: Import test library bundled with the devcontainer CLI
55
source dev-container-features-test-lib
66

7-
cat /usr/local/bin/code-server-entrypoint
8-
97
# Feature-specific tests
108
check"code-server version" code-server --version
119
check"code-server running" pgrep -f'code-server/lib/node.*/code-server'
12-
check"code-server listening" lsof -i"@127.0.0.1:8080"
1310

14-
check"code-server socket"grep'"--socket".*"/tmp/code-server.sock"'< /usr/local/bin/code-server-entrypoint
15-
check"code-server socket-mode" grep'"--socket-mode".*"777"'< /usr/local/bin/code-server-entrypoint
11+
check"code-server socket"test -S/tmp/code-server.sock
12+
check"code-server socket-mode" grep'0777'<<<$(stat /tmp/code-server.sock)
1613

1714
# Report results
1815
reportResults

‎test/code-server/code-server-socket.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@ set -e
44
# Optional: Import test library bundled with the devcontainer CLI
55
source dev-container-features-test-lib
66

7-
cat /usr/local/bin/code-server-entrypoint
8-
97
# Feature-specific tests
108
check"code-server version" code-server --version
119
check"code-server running" pgrep -f'code-server/lib/node.*/code-server'
12-
check"code-server listening" lsof -i"@127.0.0.1:8080"
1310

14-
check"code-server socket" grep'"--socket".*"/tmp/code-server.sock"'< /usr/local/bin/code-server-entrypoint
11+
check"code-server socket"test -S /tmp/code-server.sock
12+
check"code-server socket-mode" grep'0775'<<<$(stat /tmp/code-server.sock)
1513

1614
# Report results
17-
reportResults
15+
reportResults

‎test/code-server/code-server-workspace.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ check "code-server version" code-server --version
99
check"code-server running" pgrep -f'code-server/lib/node.*/code-server'
1010
check"code-server listening" lsof -i"@127.0.0.1:8080"
1111

12-
check"code-server workspace" grep$'\'code-server.*"/home"\''< /usr/local/bin/code-server-entrypoint
12+
check"code-server workspace" grep$'/home'< /usr/local/bin/code-server-entrypoint
1313

1414
# Report results
1515
reportResults

‎test/code-server/scenarios.json

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,13 @@
126126
}
127127
},
128128
"code-server-cert": {
129-
"image":"mcr.microsoft.com/devcontainers/base:ubuntu",
129+
"build": {
130+
"dockerfile":"Dockerfile"
131+
},
130132
"features": {
131133
"code-server": {
132-
"cert":"/path/to/cert.pem",
133-
"certKey":"/path/to/key.pem"
134+
"cert":"/home/vscode/cert.pem",
135+
"certKey":"/home/vscode/key.pem"
134136
}
135137
}
136138
},
@@ -158,5 +160,13 @@
158160
"socketMode":"777"
159161
}
160162
}
163+
},
164+
"code-server-log-file": {
165+
"image":"mcr.microsoft.com/devcontainers/base:ubuntu",
166+
"features": {
167+
"code-server": {
168+
"logFile":"/tmp/code-server-log-file.log"
169+
}
170+
}
161171
}
162172
}

‎test/code-server/test.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,8 @@ check "code-server version" code-server --version
99
check"code-server running" pgrep -f'code-server/lib/node.*/code-server'
1010
check"code-server listening" lsof -i"@127.0.0.1:8080"
1111

12+
check"code-server log-file"test -f /tmp/code-server.log
13+
check"code-server log-file content" grep"HTTP server listening on http://127.0.0.1:8080/"< /tmp/code-server.log
14+
1215
# Report results
1316
reportResults

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp