Conversation
This was referenced Sep 28, 2026
Member
|
/scorecard |
Contributor
Module Scorecard Check
|
| Presentation & Onboarding | Credential Hygiene | Restricted-Environment Readiness | Engineering Quality | Overall |
|---|---|---|---|---|
| 17 / 17 | 16 / 20 | 19 / 20 | 10 / 10 | 93 / 100 |
Drilldown
Track: Utility (desktop-streaming tool — not an AI agent or code editor)
Presentation & Onboarding — 17 / 17
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Configuration-mode examples | 12 | 12 | README documents every major mode: default apply, image-carries-Selkies (install_selkies = false), pinned-version + release_url mirror install, and wayland = true. Each shows a complete, sensible module block. |
| Visual preview | 5 | 5 |  embedded and verified to exist. |
Credential Hygiene — 16 / 20
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Secrets marked sensitive | 16 | 16 | Module has no secret-bearing inputs at all; no inline keys or tokens appear anywhere in the README examples. |
| Non-hardcoded auth path | 4 | 0 | The only relevant line — "Coder authenticates the app and proxies it over one WebSocket" — describes Coder's app-proxy access control, not an external-service credential path (no IAM/OAuth/API-key-helper/AI-Gateway pattern is shown or needed). Doesn't meet the intent of the criterion. |
Restricted-Environment Readiness — 19 / 20
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Mirrorable artifact source | 5 | 5 | release_url variable overrides the base URL used for <release_url>/latest and <release_url>/download/<version>/<file> in install.sh.tftpl; documented in "Installing at Start" with a mirror example. |
| Bring-your-own binary | 10 | 10 | install_selkies = false fully disables install when the image already carries Selkies/Xvfb; documented in "Selkies in the Image" with its own example. |
| Egress transparency | 3 | 3 | Dedicated "## Network Access" section enumerates exact contacted endpoints (<release_url>/latest, <release_url>/download/..., distro package repos) and states runtime traffic stays on Coder's proxy/loopback. |
| Runs without sudo | 2 | 1 | Default install path requires root or passwordless sudo for package installation (core install function) and only prints an error otherwise — no in-script non-root fallback. A complete no-sudo path exists only via the separate install_selkies = false mode (BYOB), so this is "optional-feature sudo with a working fallback" → half credit. Start script itself never uses sudo. |
Engineering Quality — 10 / 10
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Input quality | 6 | 6 | All variables have clear descriptions and sensible defaults; validation blocks on port, share, selkies_version, and release_url. |
| Test coverage | 4 | 4 | main.tftest.hcl covers business logic thoroughly (defaults, healthcheck, KasmVNC-parity vars, desktop command quoting, wayland, BYOB mode, mirrored/pinned release, and all validation rejections). main.test.ts exercises real install/start scripts in containers, including failure and idempotency paths. |
Overall — 93 / 100
Raw 62 / 67 → round(62 / 67 × 100) = 93
Tip
You can run this locally by telling your agent: "review this module against .github/scorecard/SCORECARD.md".
Scored against SCORECARD.md with solstice-1. Language-model scores are advisory.
Stream the workspace's desktop to the browser with Selkies behind a coder_app, with the KasmVNC module's variables so a template swaps one for the other. The install script installs what the workspace lacks of Selkies and Xvfb, with PulseAudio where no sound server is installed, from the release's native package and the distribution, as root or with passwordless sudo, or nothing with install_selkies = false; the start script starts selkies-session on the loopback addresses, without a login or TLS of its own, and waits until it answers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
/icon/selkies.svgthe app and scripts show.addons/coder, which this one brings to the registry's conventions) and fix(platforms): Keep OnDemand's tokens in the job, fix Coder's installs, and end what a session daemonizes selkies-project/selkies#421 (the fixes to that module this one carries too).Description
Adds a module that streams the workspace's desktop to the browser with Selkies, a low-latency remote desktop with audio in both directions, gamepads, and GPU encoding, behind a
coder_appthat Coder authenticates and proxies over one WebSocket, on a subdomain or a path.agent_id,port,desktop_environment,subdomain,share,order,group), so a template swaps one for the other or offers both.desktop_environmentalso takes any installed session or a command, and empty starts the workspace's default desktop.selkies-sessionor Xvfb, it installs the release's native package, the distribution's Xvfb, and PulseAudio where the workspace has no sound server, as root or with passwordless sudo. It resolves the latest release from GitHub'sreleases/latestredirect rather than the API, whose 60 unauthenticated requests per hour everything behind one address shares.install_selkies = falseinstalls nothing, for images that carry Selkies;selkies_versionandrelease_urlpin a release and a mirror.selkies-sessionon the loopback addresses without a login or TLS of its own and waits until/api/healthanswers, checked over bash's/dev/tcpso it needs no curl. It reports a launcher that exits first with the end of its log, and leaves a running one alone.coder-utils0.0.2, and data and logs live under$HOME/.coder-modules/selkies-project/selkies/. The newselkies-projectnamespace, the upstream GitHub organization, gets a README and an avatar. The/icon/selkies.svgthe app and scripts show is added to coder/coder in chore(site): add selkies icon coder#30026.Type of Change
Module Information
registry/selkies-project/modules/selkiesv1.0.0Testing & Validation
bun test):main.test.ts5 passed, 0 failed (25 assertions) against a real Docker daemon;terraform test11 passed, 0 failed with Terraform 1.16.4, the registry'scoder-utils0.0.2, and provider coder/coder 2.18.0.bun fmt):bun run fmt:ci, typos,go run ./cmd/readmevalidation,scripts/terraform_validate.sh, andscripts/shellcheck_validate.shpass, and the rendered scripts are shellcheck-clean at-S style.codercom/example-desktop(Ubuntu 26.04, XFCE): the install script installedselkies-2.0.0-ubuntu26.04-amd64.deb, Xvfb, and PulseAudio with sudo, and the app was healthy 70 s after the build. The desktop streamed at 60 fps in all three browsers, as a subdomain app and as a path app. Through Coder's proxy, a WebSocket upgrade from the page's origin got 101 and one from another site's origin got 403.selkies-2.0.0-debiantrixie-amd64.deb, Xvfb, and PulseAudio installed; healthy in 51 s; 60 fps.install_selkies = falseon the Selkies desktop image, without sudo: nothing installed; healthy in 26 s; 60 fps.wayland = truewith an NVIDIA GPU: labwc on Selkies' Wayland backend, captured zero-copy and encoded on NVENC; 60 fps.One known issue lies outside the module: on Debian 13, Selkies 2.0.0 aborts at the first connection when the agent's
SSH_CONNECTIONreaches it while a sound server runs, because pcmflux 2.1.0's wheel bundles a second libxcb. The fix (selkies-project/pcmflux@a85622b) reaches the module with the next Selkies release. Ubuntu 26.04 workspaces were unaffected in the same test.Related Issues
coder/coder#2106, selkies-project/selkies#64, coder/coder#30026 (the icon), and selkies-project/selkies#421 (the same fixes in Selkies' own Coder module).