docs: add Windows (WSL2) setup section to README (#6185)#6187
docs: add Windows (WSL2) setup section to README (#6185)#6187clubanderson merged 1 commit intomainfrom
Conversation
The current install instructions assume a POSIX shell, which leaves Windows users without guidance. Add a Windows (WSL2) subsection to the Install section that: - States the supported path is WSL2 + Ubuntu (PowerShell/CMD is not supported because the install scripts and kc-agent depend on a POSIX shell + Go toolchain). - Gives the one-time `wsl --install` step. - Lists the apt prerequisites (golang-go, curl, git). - Reuses the same `curl | bash` install command as macOS/Linux. - Builds kc-agent from source since there is no Homebrew formula on WSL. - Notes that http://localhost:8080 just works from the Windows browser because WSL2 forwards localhost. Closes #6185. Signed-off-by: Andrew Anderson <[email protected]>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
✅ Deploy Preview for kubestellarconsole canceled.
|
|
👋 Hey @clubanderson — thanks for opening this PR!
This is an automated message. |
There was a problem hiding this comment.
Pull request overview
Adds Windows onboarding guidance by documenting a supported WSL2 (Ubuntu) installation path in the root README, aligning Windows setup with the existing POSIX shell-based install flow.
Changes:
- Adds a Windows (WSL2) subsection under Install with PowerShell + WSL steps and Ubuntu shell commands.
- Documents prerequisite packages and a source-build path for
kc-agentunder WSL. - Notes that
localhost:8080can be opened from the Windows browser due to WSL2 localhost forwarding.
| # Prerequisites (Go 1.24+, curl, git) | ||
| sudo apt-get update && sudo apt-get install -y golang-go curl git |
There was a problem hiding this comment.
The WSL prerequisites say "Go 1.24+" and then install golang-go via apt-get, but the repo go.mod declares go 1.25.0. Also, Ubuntu’s golang-go package often lags behind current Go releases, so following this may still leave users below the required version. Please update the stated Go version to match go.mod and adjust the instructions (e.g., point to installing Go 1.25+ from go.dev / a PPA, or explicitly note reliance on Go’s toolchain auto-download if that’s intended).
| # Prerequisites (Go 1.24+, curl, git) | ||
| sudo apt-get update && sudo apt-get install -y golang-go curl git | ||
|
|
||
| # Same install command as macOS / Linux | ||
| curl -sSL https://raw.githubusercontent.com/kubestellar/console/main/start.sh | bash |
There was a problem hiding this comment.
In this WSL section, Go and git are listed as prerequisites before running start.sh, but start.sh is documented to require only curl (it downloads prebuilt binaries). Consider splitting the instructions so the quick-start path only requires curl, and reserve the Go/git prerequisites for the optional “build kc-agent from source” steps to avoid unnecessarily blocking WSL users.
|
Thank you for your contribution! Your PR has been merged. Check out what's new:
Stay connected: Slack #kubestellar-dev | Multi-Cluster Survey |
|
Post-merge build verification passed ✅ Both Go and frontend builds compiled successfully against merge commit |
Two Copilot review nits on the WSL section added in #6187: 1. start.sh only needs curl — it downloads pre-built binaries. The previous WSL block listed Go and git as prereqs BEFORE running start.sh, which falsely implied users had to install a Go toolchain to use the quick-start path. Split the section so curl is the only apt prereq for start.sh, and Go + git are called out under a separate 'Building kc-agent from source' subsection. 2. Bump Go version from 1.24+ to 1.25+ to match what go.mod actually declares (`go 1.25.0`). Also point users at the longsleep PPA / the official Go installer instead of `golang-go` because the Ubuntu package usually lags the current Go release. Closes #6192. Signed-off-by: Andrew Anderson <[email protected]>
Two Copilot review nits on the WSL section added in #6187: 1. start.sh only needs curl — it downloads pre-built binaries. The previous WSL block listed Go and git as prereqs BEFORE running start.sh, which falsely implied users had to install a Go toolchain to use the quick-start path. Split the section so curl is the only apt prereq for start.sh, and Go + git are called out under a separate 'Building kc-agent from source' subsection. 2. Bump Go version from 1.24+ to 1.25+ to match what go.mod actually declares (`go 1.25.0`). Also point users at the longsleep PPA / the official Go installer instead of `golang-go` because the Ubuntu package usually lags the current Go release. Closes #6192. Signed-off-by: Andrew Anderson <[email protected]>
…6185 follow-up) @rishi-jat reported (#6185) that the README install instructions had no Windows path. That was fixed in #6187/#6193/#6194/#6197/#6207, but the README is only one surface — the in-app modals that show up when users first try to set up kc-agent had no Windows option either. This PR adds parity between the README and both in-app modals. AgentSetupDialog.tsx (the welcome modal that auto-shows when no agent is connected and the user hasn't dismissed it): - New windowsBuildCommand constant: `apt-get install software-properties-common` -> longsleep PPA -> `golang-1.25` -> git clone -> `mkdir -p bin` -> `go build`. Single line so users can paste it once into their WSL shell. - New Windows (WSL2) collapsible section parallel to the existing Linux one. Same Eye/click pattern, same Copy button + 'Copied' feedback (UI_FEEDBACK_TIMEOUT_MS), shares the existing toast timer cleanup pattern via copiedWindowsTimerRef. - Linux build command also updated: bumped to include 'mkdir -p bin' so a fresh clone doesn't fail (#6196 caught this for the README). InClusterAgentDialog.tsx (the in-cluster connect dialog): - Same WINDOWS_WSL_INSTALL_CMD constant + new Windows (WSL2) collapsible section parallel to the build-from-source one. New COPY_KEY_WSL=102 in the existing key range. - Linux build-from-source command updated similarly: 'mkdir -p bin' added, label changed from 'Go 1.24+' to 'Go 1.25+' to match go.mod. Both Windows sections include: - The one-time PowerShell prerequisite (`wsl --install -d Ubuntu`) described inline so users don't have to leave the modal - A note that http://localhost:8080 just works in the Windows browser because WSL2 forwards localhost - A pointer back to the README's step-by-step version This closes the in-app gap rishi-jat originally reported. The README + in-app modals are now consistent for the four supported install paths: macOS Homebrew, Linux build-from-source, Windows WSL2 build, in-cluster deploy. Verified: `npm run build` clean. Refs #6185. Signed-off-by: Andrew Anderson <[email protected]>
…6185 follow-up) (#6238) * feat(setup): add Windows (WSL2) section to in-app agent setup modals (#6185 follow-up) @rishi-jat reported (#6185) that the README install instructions had no Windows path. That was fixed in #6187/#6193/#6194/#6197/#6207, but the README is only one surface — the in-app modals that show up when users first try to set up kc-agent had no Windows option either. This PR adds parity between the README and both in-app modals. AgentSetupDialog.tsx (the welcome modal that auto-shows when no agent is connected and the user hasn't dismissed it): - New windowsBuildCommand constant: `apt-get install software-properties-common` -> longsleep PPA -> `golang-1.25` -> git clone -> `mkdir -p bin` -> `go build`. Single line so users can paste it once into their WSL shell. - New Windows (WSL2) collapsible section parallel to the existing Linux one. Same Eye/click pattern, same Copy button + 'Copied' feedback (UI_FEEDBACK_TIMEOUT_MS), shares the existing toast timer cleanup pattern via copiedWindowsTimerRef. - Linux build command also updated: bumped to include 'mkdir -p bin' so a fresh clone doesn't fail (#6196 caught this for the README). InClusterAgentDialog.tsx (the in-cluster connect dialog): - Same WINDOWS_WSL_INSTALL_CMD constant + new Windows (WSL2) collapsible section parallel to the build-from-source one. New COPY_KEY_WSL=102 in the existing key range. - Linux build-from-source command updated similarly: 'mkdir -p bin' added, label changed from 'Go 1.24+' to 'Go 1.25+' to match go.mod. Both Windows sections include: - The one-time PowerShell prerequisite (`wsl --install -d Ubuntu`) described inline so users don't have to leave the modal - A note that http://localhost:8080 just works in the Windows browser because WSL2 forwards localhost - A pointer back to the README's step-by-step version This closes the in-app gap rishi-jat originally reported. The README + in-app modals are now consistent for the four supported install paths: macOS Homebrew, Linux build-from-source, Windows WSL2 build, in-cluster deploy. Verified: `npm run build` clean. Refs #6185. Signed-off-by: Andrew Anderson <[email protected]> * test(ui-ux): bump EXPECTED_RAW_HEX_COUNT 282→284 for #6185 ref Signed-off-by: Andrew Anderson <[email protected]> --------- Signed-off-by: Andrew Anderson <[email protected]>
Summary
Adds a Windows (WSL2) subsection to the README's Install section so Windows users have a clear, supported path. Tracked by #6185 (reported by @rishi-jat via the in-app feedback flow).
The supported approach is WSL2 + Ubuntu — the install scripts and
kc-agentare POSIX shell + Go and run unchanged inside WSL2. Native PowerShell/CMD is not supported because porting the bash install scripts to PowerShell would double the maintenance surface for a path that WSL2 makes redundant.The new section walks through:
wsl --install -d Ubuntufrom PowerShellgolang-go,curl,git)curl | bashinstall command as macOS/Linuxkc-agentfrom source (no Homebrew formula on WSL)http://localhost:8080just works from the Windows browser since WSL2 forwards localhostCloses #6185.