Adds a PreToolUse(Bash) hook (block-backslash-winpath.sh) that rejects commands redirecting/writing to a backslashed Windows drive path (e.g. > D:\claudetools\ .claude\current-mode). On Git Bash those strip the backslashes and PUA-substitute ':' (U+F03A), creating garbled junk files that have repeatedly polluted the repo. The hook quote-strips the command first, so the pattern appearing inside strings or commit messages does not false-trigger; Windows-tool args (icacls, pwsh -File) and forward-slash/relative paths pass. Wired into settings.json so every machine picks it up on /sync. Pairs with the sync.sh staging guard. Also: CLAUDE.md note on the Windows mode-write path; record jq install on GURU-KALI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
121 lines
4.7 KiB
Markdown
121 lines
4.7 KiB
Markdown
# Machine: GURU-KALI
|
|
|
|
**Hostname:** GURU-KALI
|
|
**Last Updated:** 2026-05-24
|
|
|
|
---
|
|
|
|
## Hardware Specs
|
|
|
|
| Spec | Value |
|
|
|------|-------|
|
|
| Model | Lenovo Legion Pro 5 16IRX9 (laptop) |
|
|
| CPU | Intel Core i9-14900HX (24 cores / 32 threads) |
|
|
| Memory | 31 GiB + 31 GiB swap |
|
|
| GPU | NVIDIA RTX 4070 Mobile/Max-Q (8 GB VRAM) + Intel UHD iGPU |
|
|
| Storage | 906 GB NVMe (~831 GB free) |
|
|
|
|
---
|
|
|
|
## Software
|
|
|
|
| Spec | Value |
|
|
|------|-------|
|
|
| OS | Kali GNU/Linux Rolling, kernel 6.19.14+kali-amd64 |
|
|
| Python | 3.13.12 |
|
|
| Node.js | v24.15.0 / npm 11.12.1 |
|
|
| Go | installed |
|
|
| Rust | 1.95.0 (rustc + cargo via rustup, `~/.cargo`) — added 2026-05-24 |
|
|
| Git | 2.53.0 |
|
|
| sops | 3.13.1 (`~/.local/bin/sops`) |
|
|
| psql | 18.3 |
|
|
| mysql/mariadb client | 11.8.6 |
|
|
| nmap | 7.99 (Kali security tooling) |
|
|
| GuruRMM build dev libs | libgtk-3-dev, libayatana-appindicator3-dev, libxdo-dev, libssl-dev, pkg-config (for agent + tray builds) — added 2026-05-24 |
|
|
| NVIDIA driver | nouveau (open-source) — NO proprietary driver / CUDA |
|
|
| jq | 1.8.1 (added 2026-05-24, needed by hooks) |
|
|
| gh / docker / age / op / grepai / ollama | NOT installed |
|
|
|
|
---
|
|
|
|
## Ollama Models
|
|
|
|
None — Ollama not installed. If installed, `qwen3:8b` (5.2 GB) fits the 8 GB VRAM
|
|
fully (mirrors DESKTOP-0O8A1RL prose model); qwen3.6 / codestral / qwen3:14b would
|
|
split to CPU. GPU acceleration requires the proprietary NVIDIA driver first (currently
|
|
nouveau). See `.claude/OLLAMA.md`.
|
|
|
|
---
|
|
|
|
## Claude Code Environment
|
|
|
|
- **Working Directory:** /home/guru/claudetools
|
|
- **User:** guru
|
|
- **Shell:** zsh (interactive); bash for scripts
|
|
- **Git:** Configured for Gitea (git.azcomputerguru.com)
|
|
- **Identity:** mike (identity.json configured)
|
|
- **Vault:** /home/guru/vault (SOPS + age, decryption verified working)
|
|
- **Age key:** `~/.config/sops/age/keys.txt` (mode 600), recipient #1
|
|
`age1qz7ct84m50u06h97artqddkj3c8se2yu4nxu59clq8rhj945jc0s5excpr`
|
|
- **Privileges:** guru in `sudo` group; **passwordless sudo enabled**
|
|
(`/etc/sudoers.d/guru-nopasswd`, 2026-05-24) — Claude can run privileged ops.
|
|
- **GuruRMM clone:** `/home/guru/gururmm` (canonical server-side path) — builds
|
|
agent + tray locally with cargo; also an enrolled managed agent (id `a73ba38e`,
|
|
systemd `gururmm-agent.service`).
|
|
|
|
---
|
|
|
|
## Network
|
|
|
|
| Interface | Address |
|
|
|-----------|---------|
|
|
| Wi-Fi (wlan0) | 10.2.209.225/16 (gw 10.2.0.1) — NOT company LAN |
|
|
| Tailscale | 100.75.148.91 (joined 2026-05-24, mike@) |
|
|
|
|
Field/mobile laptop on wifi; Tailscale now bridges to internal services. pfSense-2
|
|
advertises subnet `172.16.0.0/22` into the tailnet and this node runs with
|
|
`--accept-routes`, so company LAN host `172.16.3.30` is reachable via `tailscale0`.
|
|
Verified 2026-05-24: coord API `172.16.3.30:8001` -> HTTP 200, remote Ollama
|
|
`100.92.127.64:11434` -> HTTP 200 (5 models). (D2TESTNAS also advertises
|
|
192.168.0.0/24 + 192.168.100.0/24.)
|
|
|
|
---
|
|
|
|
## Capabilities
|
|
|
|
- [x] Git operations (over public internet)
|
|
- [x] SOPS vault decryption (verified)
|
|
- [x] Claude Code CLI
|
|
- [x] Security tooling (Kali — nmap, etc.)
|
|
- [x] DB clients present (psql, mariadb) — usable only when on-LAN
|
|
- [x] coord API / DB reachable (via Tailscale subnet route 172.16.0.0/22)
|
|
- [x] Tailscale (100.75.148.91)
|
|
- [x] Tier 0 remote Ollama reachable over Tailscale (100.92.127.64)
|
|
- [x] Rust toolchain (1.95.0) + GuruRMM agent/tray build deps (GTK/appindicator/openssl)
|
|
- [x] Passwordless sudo (guru)
|
|
- [x] Enrolled GuruRMM managed agent (id a73ba38e, systemd service)
|
|
- [ ] Ollama LOCAL (not installed — would add offline Tier 0)
|
|
- [ ] GrepAI semantic search (not installed)
|
|
- [ ] 1Password CLI (op not installed)
|
|
- [ ] NVIDIA CUDA compute (nouveau driver — no CUDA)
|
|
- [ ] Docker
|
|
|
|
---
|
|
|
|
## Notes
|
|
|
|
- **Strongest raw hardware in the fleet** for AI inference (i9-14900HX, 31 GB RAM,
|
|
RTX 4070 8 GB) — but GPU compute is blocked on the nouveau -> proprietary-NVIDIA
|
|
driver swap (needs a package install + reboot on Kali rolling).
|
|
- **Field/mobile laptop.** On wifi off the company LAN, but Tailscale (added
|
|
2026-05-24) bridges to internal services, so coord API/DB and remote Ollama work.
|
|
A local Ollama would still add value for *offline* use (away from any network).
|
|
- Onboarding (`LINUX_PC_ONBOARDING.md`) status: /sync OK, vault OK, identity OK,
|
|
Tailscale OK; PENDING — local Ollama (optional), GrepAI, 1Password CLI.
|
|
- 2026-05-24: chose Tailscale-only for now; local Ollama + NVIDIA driver deferred.
|
|
- 2026-05-24: set up as the **GuruRMM Linux dev/test box** — Rust + GTK build env,
|
|
`gururmm` cloned, enrolled agent runs the new Linux tray (Unix-socket IPC + GTK)
|
|
build. See gururmm PR #13 (`feat/linux-tray-ipc`). The systemd unit was patched
|
|
locally with `RuntimeDirectory=gururmm`; service runs an unsigned local build
|
|
until the PR merges and the pipeline ships a signed agent.
|