docs(readme): split WSL prereqs by path, bump Go version (#6192)#6194
docs(readme): split WSL prereqs by path, bump Go version (#6192)#6194clubanderson merged 1 commit intomainfrom
Conversation
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]>
|
[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
Updates the README’s Windows (WSL2) installation guidance to more accurately reflect the quick-start (start.sh) prerequisites and the repository’s actual Go toolchain requirement.
Changes:
- Split WSL prerequisites so
start.shpath requires onlycurl(no Go toolchain implied). - Document building
kc-agentfrom source as a separate path requiring Go 1.25+ andgit, with guidance for installing a recent Go on Ubuntu/WSL.
| **Building `kc-agent` from source is a separate path** — only needed if you want a development build of the agent rather than the prebuilt binary that `start.sh` already installs. It requires Go **1.25+** (the version pinned in `go.mod`) and `git`. Ubuntu's `golang-go` package usually lags the current release; use the [official Go install](https://go.dev/doc/install) or the `longsleep/golang-backports` PPA to get a recent version: | ||
|
|
||
| # kc-agent built from source (no Homebrew formula on WSL) | ||
| ```bash |
There was a problem hiding this comment.
sudo add-apt-repository ... assumes add-apt-repository is available, but this command comes from software-properties-common. Add an explicit install step (or an alternative that doesn't require add-apt-repository) so these WSL instructions work on minimal Ubuntu installs.
| ```bash | |
| ```bash | |
| sudo apt-get update && sudo apt-get install -y software-properties-common |
| curl -sSL https://raw.githubusercontent.com/kubestellar/console/main/start.sh | bash | ||
| ``` | ||
|
|
||
| **Building `kc-agent` from source is a separate path** — only needed if you want a development build of the agent rather than the prebuilt binary that `start.sh` already installs. It requires Go **1.25+** (the version pinned in `go.mod`) and `git`. Ubuntu's `golang-go` package usually lags the current release; use the [official Go install](https://go.dev/doc/install) or the `longsleep/golang-backports` PPA to get a recent version: |
There was a problem hiding this comment.
This section says building from source requires Go 1.25+, but earlier in the README the Linux kc-agent build example still says Go 1.24+. Please align the minimum Go version across the README so users don't get conflicting guidance.
| sudo add-apt-repository ppa:longsleep/golang-backports | ||
| sudo apt-get update && sudo apt-get install -y golang-1.25 git | ||
| git clone https://github.com/kubestellar/console.git | ||
| cd console |
There was a problem hiding this comment.
go build -o bin/kc-agent ... will fail if the bin/ directory doesn't already exist (the repo doesn't include it). Add mkdir -p bin (or adjust the command to write to an existing path) so the documented build steps are copy/paste runnable.
| cd console | |
| cd console | |
| mkdir -p bin |
|
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 |
Six factual corrections from Copilot review of #6193, all verified against source before changing: 1. Hosted demo CANNOT talk to a local kc-agent (#6195 main point). Verified in web/src/lib/constants/network.ts: LOCAL_AGENT_HTTP_URL is set to '' on the Netlify build (the _isNetlify check explicitly includes 'console.kubestellar.io'), so the browser can never reach 127.0.0.1:8585. Restructured the top of the README: - Removed the false 'kc-agent connects hosted UI to your clusters' decision-table row. - Added an explicit note in the Try-it-now section that the hosted demo is self-contained and serves canned data. - Renamed the kc-agent section to make clear it bridges the SELF-HOSTED console (not the hosted UI) to your kubeconfig and AI providers. - Reordered so 'Local install (self-host)' comes BEFORE the kc-agent section, since you need to self-host before kc-agent becomes useful. 2. Go version was still 1.24+ in one spot. Bumped to 1.25+ to match go.mod's `go 1.25.0`. (Already fixed in #6194 for the WSL block; this catches the Linux line in the kc-agent section.) 3. `go build -o bin/kc-agent ...` fails on a fresh clone if bin/ doesn't exist. Added `mkdir -p bin` to both build snippets. 4. The 'GitHub PAT in Settings UI' row claimed it was 'browser only, not on disk'. Wrong — APIKeySettings.tsx POSTs the token to kc-agent's /settings/keys endpoint, which persists to disk. Also added that the Settings flow only works when self-hosting, since the hosted build disables LOCAL_AGENT_HTTP_URL. 5. FEEDBACK_GITHUB_TOKEN fine-grained scopes: I documented only 'Issues: Read & Write'. Verified against pkg/api/handlers/feedback.go which requires both 'Issues' AND 'Contents' read/write. Updated. 6. AI configuration section wrongly claimed BYOK works with the hosted demo. Same root cause as #1 — the Settings → API Keys flow needs LOCAL_AGENT_HTTP_URL, which is empty on Netlify. Rewrote the section to state up front that BYOK only works self-hosted, and reordered the steps so 'self-host first' is step 1. Closes #6195. Signed-off-by: Andrew Anderson <[email protected]>
#6197) Six factual corrections from Copilot review of #6193, all verified against source before changing: 1. Hosted demo CANNOT talk to a local kc-agent (#6195 main point). Verified in web/src/lib/constants/network.ts: LOCAL_AGENT_HTTP_URL is set to '' on the Netlify build (the _isNetlify check explicitly includes 'console.kubestellar.io'), so the browser can never reach 127.0.0.1:8585. Restructured the top of the README: - Removed the false 'kc-agent connects hosted UI to your clusters' decision-table row. - Added an explicit note in the Try-it-now section that the hosted demo is self-contained and serves canned data. - Renamed the kc-agent section to make clear it bridges the SELF-HOSTED console (not the hosted UI) to your kubeconfig and AI providers. - Reordered so 'Local install (self-host)' comes BEFORE the kc-agent section, since you need to self-host before kc-agent becomes useful. 2. Go version was still 1.24+ in one spot. Bumped to 1.25+ to match go.mod's `go 1.25.0`. (Already fixed in #6194 for the WSL block; this catches the Linux line in the kc-agent section.) 3. `go build -o bin/kc-agent ...` fails on a fresh clone if bin/ doesn't exist. Added `mkdir -p bin` to both build snippets. 4. The 'GitHub PAT in Settings UI' row claimed it was 'browser only, not on disk'. Wrong — APIKeySettings.tsx POSTs the token to kc-agent's /settings/keys endpoint, which persists to disk. Also added that the Settings flow only works when self-hosting, since the hosted build disables LOCAL_AGENT_HTTP_URL. 5. FEEDBACK_GITHUB_TOKEN fine-grained scopes: I documented only 'Issues: Read & Write'. Verified against pkg/api/handlers/feedback.go which requires both 'Issues' AND 'Contents' read/write. Updated. 6. AI configuration section wrongly claimed BYOK works with the hosted demo. Same root cause as #1 — the Settings → API Keys flow needs LOCAL_AGENT_HTTP_URL, which is empty on Netlify. Rewrote the section to state up front that BYOK only works self-hosted, and reordered the steps so 'self-host first' is step 1. Closes #6195. 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
Two Copilot review nits on the WSL section added in #6187:
start.shonly needscurl— it downloads pre-built binaries. The previous WSL block listed Go + git as prereqs BEFOREstart.sh, which falsely implied users had to install a Go toolchain just to use the quick-start path. Split the section socurlis the onlyaptprereq forstart.sh; Go + git are now called out separately under 'Building kc-agent from source'.Go version bump 1.24 → 1.25 to match what
go.modactually declares (go 1.25.0). Pointed users at the longsleep PPA or the official Go installer instead ofgolang-gobecause the Ubuntu package usually lags the current Go release.Closes #6192.