diff --git a/src/code-server/devcontainer-feature.json b/src/code-server/devcontainer-feature.json index b12799c..073975c 100644 --- a/src/code-server/devcontainer-feature.json +++ b/src/code-server/devcontainer-feature.json @@ -27,7 +27,12 @@ "workspace": { "type": "string", "default": "" - } + }, + "auth": { + "type": "string", + "enum": ["password", "none"], + "default": "password" + } }, "entrypoint": "/usr/local/bin/code-server-entrypoint", "dependsOn": { diff --git a/src/code-server/install.sh b/src/code-server/install.sh index 3f9ff0b..2224b9c 100644 --- a/src/code-server/install.sh +++ b/src/code-server/install.sh @@ -28,7 +28,7 @@ cat > /usr/local/bin/code-server-entrypoint \ #!/usr/bin/env bash set -e -su $_REMOTE_USER -c 'code-server --bind-addr "$HOST:$PORT" "$CODE_SERVER_WORKSPACE"' +su $_REMOTE_USER -c 'code-server --auth "$AUTH" --bind-addr "$HOST:$PORT" "$CODE_SERVER_WORKSPACE"' EOF chmod +x /usr/local/bin/code-server-entrypoint diff --git a/test/code-server/code-server-auth-none.sh b/test/code-server/code-server-auth-none.sh new file mode 100644 index 0000000..089f594 --- /dev/null +++ b/test/code-server/code-server-auth-none.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -e + +# Optional: Import test library bundled with the devcontainer CLI +source dev-container-features-test-lib + +# Feature-specific tests +check "code-server version" code-server --version +check "code-server running" pgrep -f 'code-server/lib/node.*/code-server' +check "code-server listening" lsof -i "@127.0.0.1:8080" + +check "code-server auth" grep $'\'code-server.* --auth "none" .*\'' < /usr/local/bin/code-server-entrypoint + +# Report results +reportResults diff --git a/test/code-server/code-server-auth-password.sh b/test/code-server/code-server-auth-password.sh new file mode 100644 index 0000000..6bd1920 --- /dev/null +++ b/test/code-server/code-server-auth-password.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -e + +# Optional: Import test library bundled with the devcontainer CLI +source dev-container-features-test-lib + +# Feature-specific tests +check "code-server version" code-server --version +check "code-server running" pgrep -f 'code-server/lib/node.*/code-server' +check "code-server listening" lsof -i "@127.0.0.1:8080" + +check "code-server auth" grep $'\'code-server.* --auth "password" .*\'' < /usr/local/bin/code-server-entrypoint + +# Report results +reportResults diff --git a/test/code-server/scenarios.json b/test/code-server/scenarios.json index 3a34c43..26fb59b 100644 --- a/test/code-server/scenarios.json +++ b/test/code-server/scenarios.json @@ -38,5 +38,21 @@ "workspace": "/home" } } + }, + "code-server-auth-none": { + "image": "mcr.microsoft.com/devcontainers/base:ubuntu", + "features": { + "code-server": { + "auth": "none" + } + } + }, + "code-server-auth-password": { + "image": "mcr.microsoft.com/devcontainers/base:ubuntu", + "features": { + "code-server": { + "auth": "password" + } + } } }