Uh oh!
There was an error while loading. Please reload this page.
feat(install): WSL2-aware probe + audit + docs (#1179) - #498
Merged
Conversation
Inside WSL2 the environment IS Linux, so the existing Linux tiers apply unchanged — no separate Windows code path. Make the installer WSL-aware: - probe.sh: _probe_wsl (WSL_DISTRO_NAME/WSL_INTEROP env, or microsoft/WSL in the kernel release; paths overridable for tests) + PROBE_WSL in run_host_probes (Linux-only, read-only, never-fatal). Classification is UNCHANGED — a usable Docker (incl. Docker Desktop's WSL integration, if present) is Tier 0, else Tier 1 rootless. - render_host_audit: a WSL2 "Environment" row surfacing the rootless-preferred stance; the Tier-2 unsupported-os message now points Windows users at WSL2 (rootless) as the preferred path over Docker Desktop. - docs/INSTALL.md: WSL2 quick-start note — enabling WSL2 as the one-time Windows admin step + the rootless-over-Docker-Desktop preference with the licensing rationale. - 8 probe.bats tests; shellcheck clean; manifest regenerated (R8). End-to-end verification inside a real WSL2 Ubuntu is host-gated (needs a Windows host); the probe/audit/messaging is unit-tested here. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
saadqbal
approved these changes
Jul 30, 2026
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
#1179 — Windows / WSL2
The last child of epic #1168 (RFC 0001). Key insight from the issue: inside WSL2 the environment is Linux, so the existing Linux tiers apply unchanged — there's no separate Windows code path here (the native-Windows Docker-Desktop path already lives in
install.ps1/install-k8s.ps1). This makes the Linux installer WSL-aware + documents the WSL2 route.What's in
_probe_wsl(probe.sh) — detects WSL2 viaWSL_DISTRO_NAME/WSL_INTEROPormicrosoft/WSLin the kernel release (paths overridable for tests). Read-only, never-fatal. SetsPROBE_WSLinrun_host_probes(Linux-only).render_host_audit) — a WSL2 "Environment" row surfacing the rootless-preferred stance. Classification is unchanged: a usable Docker (incl. Docker Desktop's WSL integration if present) → Tier 0; otherwise Tier 1 rootless — which is "prefer rootless, use Docker Desktop only if already there" (issue bullet 2). Theunsupported-osTier-2 message now points Windows/Git-Bash users at running the installer inside WSL2 (rootless, no Docker Desktop licence) as the preferred path.docs/INSTALL.md) — WSL2 quick-start note: enabling WSL2 = the one-time Windows admin step (the Windows Tier-2 equivalent), + the rootless-over-Docker-Desktop preference with the licensing rationale (AC Develop #2).probe.batstests (detection env/osrelease/clean,run_host_probeswiring, audit row present/absent, the Windows→WSL2 message);shellcheck --severity=errorclean;scripts/manifest.sha256regenerated (R8).Host-gated (noted, not in this PR)
AC #1's literal end-to-end run of
install.shinside a real WSL2 Ubuntu needs a Windows+WSL2 host — same class as the spike's §5 gate. The probe/audit/messaging is unit-tested here; the live WSL2 install is hardware-gated.This closes the epic's last buildable child; remaining epic work is the host-gated Tier-1 tails (#1354, #1363).
🤖 Generated with Claude Code
Note
Low Risk
Read-only probing and audit/doc copy only; no install routing or tier logic changes beyond user-facing messages.
Overview
WSL2 is detected for clearer installer messaging only — install tier classification is unchanged; Linux tiers still apply inside WSL.
probe.shadds_probe_wsl(env varsWSL_DISTRO_NAME/WSL_INTEROPormicrosoft/WSLin kernel release, with overridable paths for tests) and setsPROBE_WSLduring Linuxrun_host_probes. The host audit shows an Environment row when WSL2 is detected (rootless preferred over Docker Desktop) and expands the Tier 2unsupported-ostext for Git Bash/Windows to recommend WSL2 + the Linux curl installer ahead ofinstall.ps1.docs/INSTALL.mddocuments the WSL2 quick-install path (licensing rationale,wsl --install, run the macOS/Linux command inside the distro).probe.batsgains eight tests for detection, probe wiring, and audit output;scripts/manifest.sha256is updated forprobe.sh.Reviewed by Cursor Bugbot for commit 2d560a1. Bugbot is set up for automated code reviews on this repo. Configure here.