fix(platform): detect Colima docker.sock at top-level path (#3503)#3505
Conversation
`nemoclaw onboard` failed on macOS + Colima for setups whose docker socket lives at ~/.colima/docker.sock (not under default/). Detection returned null, DOCKER_HOST stayed unset, and openshell-gateway fell back to its hardcoded /var/run/docker.sock and aborted with FailedPrecondition. Add the top-level path to the Colima candidate list so onboard works without the symlink workaround. Includes a regression test that asserts the new layout is discovered.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe PR extends Docker host socket detection on macOS to support Colima's top-level socket layout ( ChangesColima Socket Detection Expansion
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Comment |
E2E Advisor RecommendationRequired E2E: Dispatch hint: Full advisor summaryPi Semantic E2E AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
## Summary Refreshes the NemoClaw documentation for the local `main` changes included in the 0.0.42 release. The update adds release notes, updates the affected user-facing setup and troubleshooting pages, bumps docs metadata to 0.0.42, and regenerates the matching user skills. ## Changes - #3537 -> `docs/reference/commands.md`, `docs/reference/troubleshooting.md`: Documented host-level status fields, cloudflared state-specific recovery hints, and Local Ollama auth proxy status diagnostics. - #3454 -> `docs/get-started/prerequisites.md`, `docs/get-started/quickstart.md`: Documented macOS Docker-driver onboarding and removed the expectation that standard macOS setup needs a VM driver helper. - #3514 -> `docs/inference/use-local-inference.md`: Documented compatible-endpoint retry behavior for reasoning-only smoke responses. - #3448 -> `docs/reference/commands.md`, `docs/manage-sandboxes/messaging-channels.md`: Documented canonical channel names and policy preset hints after `channels add`. - #3520 -> `docs/about/release-notes.md`: Captured clearer GPU recovery and uninstall wording in the 0.0.42 release notes. - #3313 -> `docs/get-started/quickstart.md`, `docs/reference/troubleshooting.md`: Documented stronger dashboard port detection and rollback when a forward cannot start. - #3502 -> `docs/about/release-notes.md`: Captured batched onboarding policy preset application in the 0.0.42 release notes. - #3505 -> `docs/reference/troubleshooting.md`: Documented the top-level Colima socket path. - #3421 -> `docs/about/release-notes.md`: Captured idempotent installer shim logging in the 0.0.42 release notes. - Updated `docs/project.json`, `docs/versions1.json`, and regenerated `.agents/skills/nemoclaw-user-*` outputs. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [x] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Verification - [ ] `npx prek run --all-files` passes - [ ] `npm test` passes - [ ] Tests added or updated for new or changed behavior - [x] No secrets, API keys, or credentials committed - [x] Docs updated for user-facing behavior changes - [x] `make docs` builds without warnings (doc changes only) - [x] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) --- Signed-off-by: Miyoung Choi <miyoungc@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes - v0.0.42 * **Documentation** * Enhanced macOS onboarding guidance for Docker gateway setup * Improved dashboard port conflict handling with automatic rollback * Better local Ollama inference diagnostics and authentication proxy checks * Clarified status command output and recovery procedures * Refined messaging channel setup documentation * **Chores** * Version bump to 0.0.42 <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/NVIDIA/NemoClaw/pull/3540) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Carlos Villela <cvillela@nvidia.com>
Summary
nemoclaw onboardfails on macOS + Colima setups whose Docker socket lives at~/.colima/docker.sockrather than the default~/.colima/default/docker.sock. Detection returnednull,DOCKER_HOSTstayed unset, and the gateway fell back to its hardcoded/var/run/docker.sockand aborted withFailedPrecondition. This adds the top-level path to the Colima candidate list so onboard works without the symlink workaround.Related Issue
Fixes #3503.
Changes
src/lib/platform.ts:getColimaDockerSocketCandidates— append~/.colima/docker.sockto the candidate list, with a comment pointing at [macOS][Onboard] nemoclaw onboard fails on Colima — openshell-gateway hardcodes /var/run/docker.sock, ignores DOCKER_HOST #3503.test/platform.test.ts— extend the macOS priority-order assertion to include the new path, and add a regression test (discovers the bare ~/.colima/docker.sock layout (regression for #3503)) that fails onmain.Type of Change
Verification
npx prek run --all-filespassesnpm testpassesmake docsbuilds without warnings (doc changes only)Notes on verification
prekwas scoped to the changed files (npx prek run --files src/lib/platform.ts test/platform.test.ts), passes.npm testproject surfaced two pre-existing timeouts intest/cli.test.tsfor theNEMOCLAW_CLEANUP_GATEWAYtests at the default 5000ms — same tests take ~5750ms / ~6345ms on unmodifiedmain, so this is pre-existing flake unrelated to this change. Running the same tests at--testTimeout 15000passes on bothmainand this branch.npm run typecheck:clipasses.Out of scope / follow-up
For Colima users with custom profile names (e.g.
colima start --profile foo), the socket would live at~/.colima/foo/docker.sock— which still isn't in the candidate list. The general fix is to probedocker context inspect --format '{{.Endpoints.docker.Host}}'for the authoritative endpoint. That introduces a subprocess call fromplatform.ts(currently I/O-free) which collides withtest/docker-abstraction-guard.test.tsand the SSRF subprocess assertion intest/config-set-nested-ssrf.test.ts. The right home for that probe is the onboard gateway-launch path, not module-load time inrunner.ts— filing as a follow-up.Signed-off-by: jason jama@nvidia.com
Summary by CodeRabbit