Skip to content

docs(readme): split WSL prereqs by path, bump Go version (#6192)#6194

Merged
clubanderson merged 1 commit intomainfrom
fix/6192-wsl-prereqs
Apr 10, 2026
Merged

docs(readme): split WSL prereqs by path, bump Go version (#6192)#6194
clubanderson merged 1 commit intomainfrom
fix/6192-wsl-prereqs

Conversation

@clubanderson
Copy link
Copy Markdown
Collaborator

Summary

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 + git as prereqs BEFORE start.sh, which falsely implied users had to install a Go toolchain just to use the quick-start path. Split the section so curl is the only apt prereq for start.sh; Go + git are now called out separately under 'Building kc-agent from source'.

  2. Go version bump 1.24 → 1.25 to match what go.mod actually declares (go 1.25.0). Pointed users at the longsleep PPA or the official Go installer instead of golang-go because the Ubuntu package usually lags the current Go release.

Closes #6192.

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]>
Copilot AI review requested due to automatic review settings April 10, 2026 18:08
@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Apr 10, 2026
@kubestellar-prow
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign clubanderson for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 10, 2026

Deploy Preview for kubestellarconsole canceled.

Name Link
🔨 Latest commit 57d9c1b
🔍 Latest deploy log https://app.netlify.com/projects/kubestellarconsole/deploys/69d93ca3fa6b740008c2bec9

@clubanderson clubanderson added the ai-generated Pull request generated by AI label Apr 10, 2026
@kubestellar-prow kubestellar-prow Bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Apr 10, 2026
@github-actions
Copy link
Copy Markdown
Contributor

👋 Hey @clubanderson — thanks for opening this PR!

🤖 This project is developed exclusively using AI coding assistants.

Please do not attempt to code anything for this project manually.
All contributions should be authored using an AI coding tool such as:

This ensures consistency in code style, architecture patterns, test coverage,
and commit quality across the entire codebase.


This is an automated message.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.sh path requires only curl (no Go toolchain implied).
  • Document building kc-agent from source as a separate path requiring Go 1.25+ and git, with guidance for installing a recent Go on Ubuntu/WSL.

Comment thread README.md
**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
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
```bash
```bash
sudo apt-get update && sudo apt-get install -y software-properties-common

Copilot uses AI. Check for mistakes.
Comment thread README.md
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:
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment thread README.md
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
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
cd console
cd console
mkdir -p bin

Copilot uses AI. Check for mistakes.
@clubanderson clubanderson merged commit 77a9cb2 into main Apr 10, 2026
31 of 37 checks passed
@kubestellar-prow kubestellar-prow Bot deleted the fix/6192-wsl-prereqs branch April 10, 2026 18:13
@github-actions
Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

Check out what's new:

Stay connected: Slack #kubestellar-dev | Multi-Cluster Survey

@github-actions
Copy link
Copy Markdown
Contributor

Post-merge build verification passed

Both Go and frontend builds compiled successfully against merge commit 77a9cb2c3d1814ae9881199daa9915d8f42598d8.

clubanderson added a commit that referenced this pull request Apr 10, 2026
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]>
clubanderson added a commit that referenced this pull request Apr 10, 2026
#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]>
clubanderson added a commit that referenced this pull request Apr 10, 2026
…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]>
clubanderson added a commit that referenced this pull request Apr 10, 2026
…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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-generated Pull request generated by AI dco-signoff: yes Indicates the PR's author has signed the DCO. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Copilot Review] 2 comment(s) on merged PR #6187

2 participants