docs: migrate all gururmm session logs to claudetools session-logs/
This commit is contained in:
@@ -2,403 +2,533 @@
|
||||
|
||||
## User
|
||||
- **User:** Mike Swanson (mike)
|
||||
- **Machine:** Mikes-MacBook-Air.local
|
||||
- **Role:** admin
|
||||
- **Mode:** general
|
||||
|
||||
## Session Summary
|
||||
|
||||
Continued radio show prep session, researched Claude Code model availability, published vanilla cake recipe to web server, completed GuruRMM submodule migration on Mac. Multiple sync operations to stay in sync with Windows desktop work.
|
||||
|
||||
## Work Completed
|
||||
|
||||
### 1. Radio Show Prep Continuation (from previous session)
|
||||
|
||||
**Mythos Integration:**
|
||||
- Added Anthropic Mythos section to Segment 4 (AI Reality Check)
|
||||
- Mythos: Too dangerous for public release, limited to 40 orgs via Project Glasswing
|
||||
- Opus 4.7 released April 16, 2026 as public alternative
|
||||
- Updated show timing from 52-60 min to 54-62 min
|
||||
|
||||
**Claude Code Version Inquiry:**
|
||||
- User asked: "When is claude 4.7 available for claudecode?"
|
||||
- Checked current version: Claude Code v2.1.2 (significantly behind latest v2.1.112)
|
||||
- Found Opus 4.7 requires v2.1.111+
|
||||
- Current installation only has: Opus 4.5, Sonnet 4.5, Haiku 4.5
|
||||
- Provided update instructions: `claude update`
|
||||
|
||||
### 2. Vanilla Cake Recipe Publishing
|
||||
|
||||
**Source:** PDF in Documents folder: "My best Vanilla Cake - stays moist 4 days! - RecipeTin Eats.pdf"
|
||||
|
||||
**Action taken:**
|
||||
- Extracted recipe content from PDF
|
||||
- Created professional HTML version with CSS styling
|
||||
- Published to IX server (172.16.3.10)
|
||||
- Initial URL blocked by Cloudflare on azcomputerguru.com
|
||||
- Working URL: http://72.194.62.5/vanilla-cake.html
|
||||
|
||||
**Files created:**
|
||||
- `temp/vanilla-cake-recipe.html` - Local copy
|
||||
- `/var/www/html/vanilla-cake.html` - Server copy (12KB)
|
||||
- Also attempted: `/home2/azcomputerguru/public_html/share/vanilla-cake.html` (Cloudflare blocked)
|
||||
|
||||
**Recipe details:**
|
||||
- Professional bakery style vanilla cake
|
||||
- Stays moist 4 days
|
||||
- Japanese techniques applied
|
||||
- Includes vanilla buttercream frosting
|
||||
- 4.96/5 rating from 1468 votes
|
||||
|
||||
### 3. Multiple Sync Operations
|
||||
|
||||
**First sync (morning):**
|
||||
- Pulled 1 commit from remote (6a135ac)
|
||||
- Files updated: `.claude/CLAUDE.md`, `.claude/COMPLEXITY_ROUTING.md`, `session-logs/2026-04-18-session.md`
|
||||
- New complexity routing system added (Tier 1: Haiku, Tier 2: Sonnet, Tier 3: Opus)
|
||||
|
||||
**Second sync (mid-session):**
|
||||
- Pulled 8 commits from remote (both Windows desktop and Howard's laptop)
|
||||
- Major change: GuruRMM converted to git submodule
|
||||
- 32,517 lines deleted (moved to separate repo)
|
||||
- Cascades Tucson M365 work pulled (tenant inventory, user batches, P2 upgrade planning)
|
||||
|
||||
**Third sync (final):**
|
||||
- Pushed radio show prep HTML + vanilla cake recipe
|
||||
- Resolved GuruRMM submodule conflict
|
||||
- Committed and pushed successfully
|
||||
|
||||
### 4. GuruRMM Submodule Migration Completion
|
||||
|
||||
**Initial status on Mac:**
|
||||
- Submodule was partially broken (directory missing)
|
||||
- `.gitmodules` file had been removed during conflict resolution
|
||||
- Error: "gururmm repository doesn't exist" (actually it did exist on Gitea)
|
||||
|
||||
**Resolution:**
|
||||
- Read message from Windows desktop in `.claude/messages/for-howard.md`
|
||||
- Confirmed migration WAS complete on PC, just needed Mac catch-up
|
||||
- Restored `.gitmodules` file
|
||||
- Configured submodule URL with credentials
|
||||
- Cloned gururmm repo: http://172.16.3.20:3000/azcomputerguru/gururmm.git
|
||||
- Now tracking commit f804983 (hooks + migration verification)
|
||||
|
||||
**Current structure:**
|
||||
- GuruRMM code lives in separate `gururmm` Gitea repository
|
||||
- `projects/msp-tools/guru-rmm/` is now a git submodule (mode 160000)
|
||||
- Contains: agent, dashboard, server, session-logs, etc.
|
||||
|
||||
## Commands Run
|
||||
|
||||
### Web Searches
|
||||
```bash
|
||||
# Claude Code model availability
|
||||
WebSearch: "Claude Code CLI update check how to upgrade 2026"
|
||||
WebSearch: "Claude Opus 4.7 release April 2026 Anthropic"
|
||||
```
|
||||
|
||||
### File Operations
|
||||
```bash
|
||||
# Read vanilla cake PDF
|
||||
Read: /Users/azcomputerguru/Documents/My best Vanilla Cake - stays moist 4 days! - RecipeTin Eats.pdf
|
||||
|
||||
# Create HTML recipe
|
||||
Write: /Users/azcomputerguru/ClaudeTools/temp/vanilla-cake-recipe.html
|
||||
|
||||
# Upload to IX server
|
||||
scp temp/vanilla-cake-recipe.html root@172.16.3.10:/var/www/html/vanilla-cake.html
|
||||
ssh root@172.16.3.10 "chmod 644 /var/www/html/vanilla-cake.html"
|
||||
|
||||
# Verify and test
|
||||
ssh root@172.16.3.10 "curl -I http://localhost/vanilla-cake.html"
|
||||
curl -I http://72.194.62.5/vanilla-cake.html
|
||||
```
|
||||
|
||||
### Git Operations
|
||||
```bash
|
||||
# Sync operations
|
||||
bash .claude/scripts/sync.sh # Multiple times
|
||||
|
||||
# GuruRMM submodule setup
|
||||
git submodule update --init projects/msp-tools/guru-rmm # Failed initially
|
||||
git clone http://mike@...@172.16.3.20:3000/azcomputerguru/gururmm.git projects/msp-tools/guru-rmm
|
||||
git add projects/msp-tools/guru-rmm
|
||||
git commit -m "chore: Initialize gururmm submodule on Mac"
|
||||
git push origin main
|
||||
|
||||
# Session work
|
||||
git add temp/vanilla-cake-recipe.html projects/radio-show/episodes/.../show-prep-fresh.html
|
||||
git commit -m "sync: Mac session - radio show prep + vanilla cake recipe"
|
||||
git pull --rebase origin main
|
||||
git push origin main
|
||||
```
|
||||
|
||||
### Server Administration
|
||||
```bash
|
||||
# Check cPanel accounts
|
||||
ssh root@172.16.3.10 "ls -la /var/cpanel/users/"
|
||||
ssh root@172.16.3.10 "grep -E '(HOMEDIR|DNS)' /var/cpanel/users/azcomputerguru"
|
||||
|
||||
# Test URLs
|
||||
curl -I https://azcomputerguru.com/vanilla-cake.html # 403 Cloudflare blocked
|
||||
curl -I http://72.194.62.5/vanilla-cake.html # 200 OK
|
||||
```
|
||||
|
||||
## Credentials
|
||||
|
||||
### IX Server (172.16.3.10)
|
||||
- **SSH:** root@172.16.3.10
|
||||
- **External IP:** 72.194.62.5
|
||||
- **Domain:** ix.azcomputerguru.com
|
||||
- **OS:** CloudLinux 9.7
|
||||
- **Panel:** cPanel 134.0
|
||||
|
||||
### Gitea
|
||||
- **URL:** http://172.16.3.20:3000
|
||||
- **Repo:** azcomputerguru/claudetools
|
||||
- **New repo:** azcomputerguru/gururmm (GuruRMM submodule)
|
||||
- **Auth:** HTTP basic auth with URL-encoded credentials
|
||||
|
||||
### GuruRMM Submodule
|
||||
- **URL:** https://git.azcomputerguru.com/azcomputerguru/gururmm.git
|
||||
- **Internal:** http://172.16.3.20:3000/azcomputerguru/gururmm.git
|
||||
- **Current commit:** f804983 (hooks + migration verification)
|
||||
|
||||
## Files Created/Modified
|
||||
|
||||
### Created
|
||||
- `temp/vanilla-cake-recipe.html` - Professional HTML recipe page (12KB)
|
||||
- `projects/radio-show/episodes/2026-04-18-tech-that-makes-life-fun/show-prep-fresh.html` - Radio show prep with Mythos
|
||||
- `.gitmodules` - Restored submodule configuration
|
||||
- `session-logs/2026-04-19-session.md` - This file
|
||||
|
||||
### Modified
|
||||
- `session-logs/2026-04-18-radio-show-fresh-prep.md` - Updated with Mythos + Claude Code version inquiry
|
||||
|
||||
### On IX Server
|
||||
- `/var/www/html/vanilla-cake.html` - Published recipe (accessible at http://72.194.62.5/vanilla-cake.html)
|
||||
|
||||
## Infrastructure
|
||||
|
||||
### IX Server Status
|
||||
- Uptime: 87+ days
|
||||
- 3 non-security updates available (deferred)
|
||||
- Cloudflare protection active on azcomputerguru.com (blocks direct file access)
|
||||
- Direct IP access working (72.194.62.5)
|
||||
|
||||
### GuruRMM Submodule Structure
|
||||
```
|
||||
projects/msp-tools/guru-rmm/ (git submodule, mode 160000)
|
||||
├── agent/ (Rust agent code)
|
||||
├── dashboard/ (React/TypeScript UI)
|
||||
├── server/ (Rust/Axum API server)
|
||||
├── session-logs/ (GuruRMM-specific session logs)
|
||||
├── scripts/ (Build/deploy scripts)
|
||||
└── tray/ (System tray application)
|
||||
```
|
||||
|
||||
## Pending Tasks
|
||||
|
||||
### From Todo List
|
||||
- None remaining (GuruRMM submodule migration completed)
|
||||
|
||||
### Radio Show
|
||||
- Broadcast today (April 18, 2026) - completed yesterday
|
||||
- Monitor audience feedback
|
||||
- Track follow-up stories for next week
|
||||
|
||||
### Deferred
|
||||
- IX server: Apply 3 non-security updates during next maintenance window
|
||||
- Claude Code: User may want to run `claude update` to get v2.1.112 for Opus 4.7 access
|
||||
|
||||
## Notes for Future Sessions
|
||||
|
||||
### GuruRMM Submodule Workflow
|
||||
|
||||
**To update GuruRMM code:**
|
||||
```bash
|
||||
git submodule update --remote projects/msp-tools/guru-rmm
|
||||
```
|
||||
|
||||
**To work on GuruRMM:**
|
||||
```bash
|
||||
cd projects/msp-tools/guru-rmm # It's its own repo
|
||||
git pull # Get latest
|
||||
# Make changes, commit, push as normal
|
||||
cd ../../.. # Back to claudetools root
|
||||
git add projects/msp-tools/guru-rmm
|
||||
git commit -m "chore: update gururmm submodule pointer"
|
||||
```
|
||||
|
||||
### Web Publishing
|
||||
|
||||
When publishing files to IX server:
|
||||
- Direct IP access works: http://72.194.62.5/filename.html
|
||||
- Domain access (azcomputerguru.com) blocked by Cloudflare security
|
||||
- Alternative: Use subdomain without Cloudflare or adjust security rules
|
||||
|
||||
### Radio Show Prep Pattern
|
||||
- User prefers fresh breaking news (past 7-14 days max)
|
||||
- CES content from January too old by April
|
||||
- Balance story types: inspiring, breakthrough, practical, reality check
|
||||
- HTML format with professional CSS
|
||||
- Open in Firefox for review
|
||||
|
||||
## Session Metrics
|
||||
|
||||
- **Duration:** ~3 hours (split across conversation compaction)
|
||||
- **Syncs performed:** 3
|
||||
- **Web searches:** 2
|
||||
- **Files created:** 4
|
||||
- **Git commits:** 5
|
||||
- **SSH operations:** 10+
|
||||
- **Submodule migration:** Completed
|
||||
|
||||
## Conclusion
|
||||
|
||||
Successfully continued radio show prep work, published vanilla cake recipe to public URL, and completed GuruRMM submodule migration on Mac. All systems in sync between Windows desktop and Mac. GuruRMM now properly structured as git submodule with separate repository on Gitea.
|
||||
|
||||
---
|
||||
|
||||
## Update: ~01:15 (DESKTOP-0O8A1RL) — Inter-Session Coordination System + PROJECT_STATE Rollout
|
||||
|
||||
### User
|
||||
- **User:** Mike Swanson (mike)
|
||||
- **Machine:** DESKTOP-0O8A1RL
|
||||
- **Role:** admin
|
||||
|
||||
---
|
||||
|
||||
### Session Summary
|
||||
## Session Summary
|
||||
|
||||
This update covers work done in the overnight/early-morning continuation session (context compacted from earlier). Two main areas:
|
||||
|
||||
1. **GuruRMM continued work** — v0.6.2 build, Pluto MSVC build integration, status page at `/status` — fully documented in `projects/msp-tools/guru-rmm/session-logs/2026-04-19-session.md` (see that file for complete details including credentials and infra changes)
|
||||
|
||||
2. **Inter-session coordination system rollout** — Created `PROJECT_STATE.md` for every project and client in the repo, establishing a consistent lock/state tracking protocol across all work areas
|
||||
This session covered two main areas: (1) completing drill-down navigation across the entire GuruRMM dashboard, and (2) beginning setup of Pluto (Windows build VM on Jupiter) to enable automated Windows agent builds.
|
||||
|
||||
---
|
||||
|
||||
### Accomplishments
|
||||
## Accomplishments
|
||||
|
||||
#### 1. GuruRMM — Summary (full details in guru-rmm session log)
|
||||
### 1. Dashboard — Full Drill-Down Navigation
|
||||
|
||||
| Item | Result |
|
||||
|------|--------|
|
||||
| Agent v0.6.2 build | Built + signed. Windows .old tombstone fix included. |
|
||||
| Pluto build integration | build-agents.sh now SSHes to Pluto for native MSVC Windows build |
|
||||
| Status page | GET /status (server) + React /status route (dashboard) — public, no auth |
|
||||
| nginx /status proxy | Added location block — was missing, caused "Service Disruption" on first load |
|
||||
| Server redeployed | gururmm-server rebuilt + swapped (stop → copy → start) |
|
||||
| Dashboard redeployed | npm install (missing shadcn deps) → npm run build → rsync to web root |
|
||||
Added clickable navigation links throughout all dashboard pages so the Client→Site→Agent hierarchy is fully navigable in both directions (up only, no circular refs).
|
||||
|
||||
**Commits to gururmm repo:**
|
||||
- `e93b56f` — fix: Windows .old binary cleanup
|
||||
- `f827ab4` — chore: bump agent to v0.6.2
|
||||
- `6e54f72` — feat: add public system status page at /status
|
||||
- `e08e510` — session: log post-midnight work
|
||||
- `7a20b23` — sync: update PROJECT_STATE
|
||||
**Files changed:**
|
||||
- `dashboard/src/pages/AgentDetail.tsx` — `site_name` and `client_name` now link to `/sites/:id` and `/clients/:id`
|
||||
- `dashboard/src/pages/SiteDetail.tsx` — Fixed breadcrumb: client name now links to `/clients/:id` (was linking to `/clients` list)
|
||||
- `dashboard/src/pages/Agents.tsx` — Client group headers link to `/clients/:id`, site sub-headers link to `/sites/:id` using first agent's IDs
|
||||
- `dashboard/src/pages/Commands.tsx` — Agent ID now links to `/agents/:id`; added `Link` import from react-router-dom
|
||||
|
||||
#### 2. PROJECT_STATE System — Full Rollout
|
||||
**Deploy:** Committed → pushed to Gitea → pulled on gururmm server → `npm run build` → `sudo cp -r dist/* /var/www/gururmm/dashboard/`
|
||||
|
||||
Created a `PROJECT_STATE.md` inter-session coordination file for every active project and client. Template includes:
|
||||
- Active Session Locks (claim before working, release when done)
|
||||
- Current State table (component status)
|
||||
- Pending / Next Up checklist
|
||||
- Recent Changes log with attribution (User/Machine)
|
||||
- How to Update instructions
|
||||
Commit: `6fd3380`
|
||||
|
||||
**Format:**
|
||||
- **Full template** — active projects with components/locks (dataforth-dos, radio-show, cascades-tucson, valleywide, instrumental-music-center, lens-auto-brokerage, msp-audit-scripts)
|
||||
- **Light template** — complete/stalled/planning projects (msp-pricing, pavon, wrightstown-*, gururmm-agent, community-forum, glaztech, etc.)
|
||||
- **Onboarding stubs** — recently added clients (anaise, khalsa, kittle, at-trebesch)
|
||||
### 2. Agent — Auto-Install on First Run
|
||||
|
||||
**Files created (29 total):**
|
||||
**Problem:** User downloaded site-configured agent exe, ran it directly, got:
|
||||
```
|
||||
clients/ace-portables/PROJECT_STATE.md
|
||||
clients/anaise/PROJECT_STATE.md
|
||||
clients/at-trebesch/PROJECT_STATE.md
|
||||
clients/bg-builders/PROJECT_STATE.md
|
||||
clients/cascades-tucson/PROJECT_STATE.md
|
||||
clients/dataforth/PROJECT_STATE.md
|
||||
clients/evs/PROJECT_STATE.md
|
||||
clients/glaztech/PROJECT_STATE.md
|
||||
clients/grabb-durando/PROJECT_STATE.md
|
||||
clients/gurushow/PROJECT_STATE.md
|
||||
clients/horseshoe-management/PROJECT_STATE.md
|
||||
clients/instrumental-music-center/PROJECT_STATE.md
|
||||
clients/internal-infrastructure/PROJECT_STATE.md
|
||||
clients/khalsa/PROJECT_STATE.md
|
||||
clients/kittle/PROJECT_STATE.md
|
||||
clients/lens-auto-brokerage/PROJECT_STATE.md
|
||||
clients/pavon/PROJECT_STATE.md
|
||||
clients/valleywide/PROJECT_STATE.md
|
||||
projects/community-forum/PROJECT_STATE.md
|
||||
projects/dataforth-dos/PROJECT_STATE.md
|
||||
projects/gururmm-agent/PROJECT_STATE.md
|
||||
projects/msp-pricing/PROJECT_STATE.md
|
||||
projects/msp-tools/guru-connect/PROJECT_STATE.md
|
||||
projects/msp-tools/howard-bootstrap/PROJECT_STATE.md
|
||||
projects/msp-tools/msp-audit-scripts/PROJECT_STATE.md
|
||||
projects/newsletter/PROJECT_STATE.md
|
||||
projects/radio-show/PROJECT_STATE.md
|
||||
projects/wrightstown-smarthome/PROJECT_STATE.md
|
||||
projects/wrightstown-solar/PROJECT_STATE.md
|
||||
Error: Failed to read config file: "agent.toml"
|
||||
```
|
||||
|
||||
Commit: `492fbbf` pushed to claudetools repo.
|
||||
**Root cause:** Default command (`run`) immediately loads `agent.toml`. Embedded site code trailer is only read during `install` subcommand. So running the exe bare-handed fails if no config exists.
|
||||
|
||||
GuruRMM's `PROJECT_STATE.md` lives in the gururmm submodule repo (already present from prior session work).
|
||||
**Fix (`agent/src/main.rs`):** Added pre-dispatch logic in `main()`:
|
||||
- If no subcommand given AND config file does not exist:
|
||||
- If embedded site code found → log "auto-installing" and dispatch to `Install`
|
||||
- If no embedded code found → log "prompting for site code" and dispatch to `Install`
|
||||
- `install_service()` already handles both cases (silent embed or interactive prompt)
|
||||
- If config exists → dispatch to `Run` as before (existing installed service path)
|
||||
|
||||
#### 3. Submodule Pointer Updated
|
||||
Commit: `6a5bd8a`
|
||||
|
||||
The claudetools submodule pointer for `projects/msp-tools/guru-rmm` was updated to track the latest gururmm commit (`7a20b23`) via auto-sync commit `98ba8bc`.
|
||||
**Still needed:** Build the updated Windows agent binary and upload to `/var/www/downloads/gururmm-agent-windows-amd64-latest.exe` on 172.16.3.30.
|
||||
|
||||
### 3. Pluto Build Server — Partial Setup
|
||||
|
||||
New Windows Server VM on Jupiter. Named **Pluto** (not Neptune — Neptune is a different existing server).
|
||||
|
||||
**Assigned static IP:** 172.16.3.36 (was DHCP 172.16.1.64 during setup session)
|
||||
|
||||
**Setup script created:** `scripts/setup-build-server.ps1`
|
||||
- Enables OpenSSH Server (Windows Capability)
|
||||
- Opens firewall port 22
|
||||
- Writes `administrators_authorized_keys` with ACG-5070 workstation key
|
||||
- Hardens sshd_config (pubkey only, no password)
|
||||
- Installs Chocolatey + Rust toolchain
|
||||
|
||||
**Problem encountered:** `Add-WindowsCapability` failed with `0x800f0950` — VM can't reach Windows Update (no WSUS/internet for feature downloads). DNS was pointing to 172.16.3.50 (invalid), breaking internet access.
|
||||
|
||||
**Resolution attempted:** Switch pfSense DHCP to use pfSense (172.16.0.1) as DNS instead of 172.16.3.50. pfSense web UI blocked by Chrome self-signed cert; SSH to pfSense timed out (no key auth configured). **Pending: Mike needs to make DNS change manually in pfSense.**
|
||||
|
||||
**Workaround script provided** (manual install of OpenSSH via Win32-OpenSSH GitHub release — bypasses Windows Update requirement). Not yet confirmed successful.
|
||||
|
||||
**Rust:** Successfully installed on Pluto (stable 1.95.0, x86_64-pc-windows-msvc).
|
||||
|
||||
---
|
||||
|
||||
### Infrastructure (unchanged from guru-rmm session log)
|
||||
## Infrastructure
|
||||
|
||||
| Host | IP | Role |
|
||||
|------|----|------|
|
||||
| gururmm | 172.16.3.30 | GuruRMM server, PostgreSQL, nginx |
|
||||
| Pluto | 172.16.3.36 | Windows build VM (MSVC toolchain) |
|
||||
| Gitea | 172.16.3.20 | git.azcomputerguru.com (internal: port 3000) |
|
||||
| gururmm / gururmm-build | 172.16.3.30 | GuruRMM server, MariaDB, nginx |
|
||||
| Pluto | 172.16.3.36 (static, pending NIC config) | Windows build VM for agent binaries |
|
||||
| pfSense | 172.16.0.1 | Office firewall/router/DHCP |
|
||||
| Gitea | 172.16.3.20 (SSH port 2222) | git.azcomputerguru.com |
|
||||
|
||||
### Server paths (172.16.3.30)
|
||||
- Repo: `/home/guru/gururmm` (SSH as `guru`, NOT `mike`)
|
||||
- Dashboard web root: `/var/www/gururmm/dashboard/`
|
||||
- Agent downloads: `/var/www/downloads/gururmm-agent-windows-amd64-latest.exe`
|
||||
|
||||
---
|
||||
|
||||
### Credentials
|
||||
## Credentials
|
||||
|
||||
See `projects/msp-tools/guru-rmm/session-logs/2026-04-19-session.md` for all server/DB/API credentials. No new credentials introduced in this update.
|
||||
### GuruRMM Server (172.16.3.30)
|
||||
- SSH: `guru` / `Gptf*77ttb123!@#-rmm`
|
||||
- MariaDB: `claudetools` / `CT_e8fcd5a3952030a79ed6debae6c954ed`
|
||||
- PostgreSQL (gururmm): `gururmm` / `43617ebf7eb242e814ca9988cc4df5ad`
|
||||
- RMM API admin: `claude-api@azcomputerguru.com` / `ClaudeAPI2026!@#`
|
||||
|
||||
### pfSense (172.16.0.1)
|
||||
- Web UI: `admin` / `r3tr0gradE99!!`
|
||||
- SSH port: 2248
|
||||
- Tailscale IPs: 100.79.69.82, 100.119.153.74
|
||||
|
||||
### Gitea (git.azcomputerguru.com)
|
||||
- Username: `azcomputerguru`
|
||||
- Password: `Gptf*77ttb123!@#-git`
|
||||
- API token: `9b1da4b79a38ef782268341d25a4b6880572063f`
|
||||
|
||||
### Pluto Build Server (172.16.3.36)
|
||||
- SSH: `Administrator` (key auth — ACG-5070 workstation key)
|
||||
- Authorized key: `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXR2BOcFAlOPuB7OYOKfOZDNd3u1tCt/IINRH9beFyB guru@DESKTOP-0O8A1RL`
|
||||
- Rust: stable 1.95.0 x86_64-pc-windows-msvc installed
|
||||
|
||||
---
|
||||
|
||||
### Key Protocol: PROJECT_STATE Usage
|
||||
## Key Files Changed
|
||||
|
||||
Every future session touching any project should:
|
||||
1. Read `PROJECT_STATE.md` before starting
|
||||
2. Add a row to Active Session Locks (Session = "User/Machine")
|
||||
3. Do the work
|
||||
4. Remove lock row, add to Recent Changes, update Current State
|
||||
5. Commit + push PROJECT_STATE.md as part of the session wrap-up
|
||||
|
||||
This prevents two sessions from touching the same component simultaneously and gives any new session instant context on current state.
|
||||
| File | Change |
|
||||
|------|--------|
|
||||
| `dashboard/src/pages/AgentDetail.tsx` | site/client names → clickable Links |
|
||||
| `dashboard/src/pages/SiteDetail.tsx` | breadcrumb client link → `/clients/:id` |
|
||||
| `dashboard/src/pages/Agents.tsx` | group headers → clickable Links |
|
||||
| `dashboard/src/pages/Commands.tsx` | agent ID → Link to `/agents/:id` |
|
||||
| `agent/src/main.rs` | auto-install on first run, prompt fallback |
|
||||
| `scripts/setup-build-server.ps1` | Pluto build server setup script |
|
||||
|
||||
---
|
||||
|
||||
### Pending / Next Steps
|
||||
## Pending / Next Steps
|
||||
|
||||
**GuruRMM:**
|
||||
- Verify status page shows green at rmm.azcomputerguru.com/status
|
||||
- Align server/Cargo.toml version (0.2.0) with agent version (0.6.2)
|
||||
- BUG-006: Temperature collection (sysinfo::Components)
|
||||
- MSI build pipeline via Pluto
|
||||
- Enrollment endpoint (POST /api/enroll)
|
||||
- Len's Auto Brokerage: deploy 10 endpoints via GPO
|
||||
1. **pfSense DNS fix** — Change DHCP DNS from 172.16.3.50 to 172.16.0.1 in pfSense web UI. Mike to do manually.
|
||||
|
||||
**Ongoing backlog:**
|
||||
- Dataforth DOS: deploy session manager to SAGE-SQL
|
||||
- Howard Gitea account setup
|
||||
- desertrat.com DMARC p=reject + SPF hardening
|
||||
- jparkinsonaz.com certbot retry
|
||||
- Cascades: EncryptData HIPAA compliance
|
||||
- Valleywide: close public RDWeb port (URGENT — brute-force ongoing)
|
||||
2. **Pluto NIC config** — Set static IP 172.16.3.36 on Pluto after DNS is fixed and OpenSSH finishes installing.
|
||||
|
||||
3. **Pluto OpenSSH** — Retry `Add-WindowsCapability` after DNS fix, OR use Win32-OpenSSH manual install:
|
||||
```powershell
|
||||
$url = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.5.0.0p1-Beta/OpenSSH-Win64.zip"
|
||||
$zip = "$env:TEMP\openssh.zip"
|
||||
Invoke-WebRequest -Uri $url -OutFile $zip
|
||||
Expand-Archive -Path $zip -DestinationPath "C:\Program Files\" -Force
|
||||
Rename-Item "C:\Program Files\OpenSSH-Win64" "C:\Program Files\OpenSSH"
|
||||
& "C:\Program Files\OpenSSH\install-sshd.ps1"
|
||||
Start-Service sshd; Set-Service sshd -StartupType Automatic
|
||||
```
|
||||
|
||||
4. **Build Windows agent on Pluto** once SSH access confirmed:
|
||||
```powershell
|
||||
cd C:\gururmm\agent
|
||||
cargo build --release --target x86_64-pc-windows-msvc
|
||||
```
|
||||
Then SCP to server:
|
||||
```bash
|
||||
scp agent/target/x86_64-pc-windows-msvc/release/gururmm-agent.exe guru@172.16.3.30:/var/www/downloads/gururmm-agent-windows-amd64-latest.exe
|
||||
```
|
||||
|
||||
5. **Test agent on Pluto** — Download from RMM console, run elevated, confirm auto-install kicks in and agent appears online.
|
||||
|
||||
6. **Ongoing backlog** (from previous sessions):
|
||||
- Deploy session manager to SAGE-SQL (Dataforth)
|
||||
- Howard Gitea account setup
|
||||
- Len's Auto Brokerage — deploy GuruRMM to 10 endpoints
|
||||
- desertrat.com — DMARC p=reject + SPF hardening
|
||||
- jparkinsonaz.com certbot retry
|
||||
|
||||
---
|
||||
|
||||
## Update: ~17:30 — Pluto Build Server Continued
|
||||
|
||||
### Progress
|
||||
|
||||
**SSH access confirmed working:**
|
||||
- Key: `~/.ssh/id_ed25519` (ACG-5070 workstation)
|
||||
- Host: `Administrator@172.16.1.64` (DHCP, pending static IP 172.16.3.36)
|
||||
|
||||
**sshd auto-start fixed:**
|
||||
```powershell
|
||||
Set-Service sshd -StartupType Automatic
|
||||
Set-Service ssh-agent -StartupType Automatic
|
||||
```
|
||||
|
||||
**Git installed:** v2.47.1.windows.2 (direct installer, not Chocolatey — Choco blocked by .NET 4.8 issue)
|
||||
|
||||
**Repo cloned:**
|
||||
```
|
||||
git clone https://azcomputerguru:<token>@git.azcomputerguru.com/azcomputerguru/gururmm.git C:\gururmm
|
||||
```
|
||||
(credential store warning is harmless — clone succeeded)
|
||||
|
||||
**Rust present:** `C:\Users\Administrator\.cargo\bin\rustup.exe` — stable 1.95.0
|
||||
|
||||
**Build failed — missing MSVC linker:**
|
||||
```
|
||||
error: linker `link.exe` not found
|
||||
note: please ensure Visual Studio 2017 or later, or Build Tools for Visual Studio were installed with the Visual C++ option
|
||||
```
|
||||
|
||||
**Fix in progress — installing VS Build Tools (C++ workload):**
|
||||
```powershell
|
||||
vs_buildtools.exe --quiet --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended
|
||||
```
|
||||
Background task ID: `br51d9p1g` — **still running at time of /save**
|
||||
|
||||
### Next Steps (immediate)
|
||||
1. Wait for VS Build Tools to finish (5-10 min)
|
||||
2. Retry: `cargo build --release` in `C:\gururmm\agent`
|
||||
3. SCP output to gururmm server:
|
||||
```
|
||||
scp C:\gururmm\agent\target\release\gururmm-agent.exe guru@172.16.3.30:/var/www/downloads/gururmm-agent-windows-amd64-latest.exe
|
||||
```
|
||||
4. Test: download fresh agent from RMM console on Pluto, run elevated — should auto-install
|
||||
|
||||
### SSH one-liners for future sessions
|
||||
```bash
|
||||
# Test connection
|
||||
ssh -i ~/.ssh/id_ed25519 Administrator@172.16.1.64 "hostname"
|
||||
|
||||
# Run build
|
||||
ssh -i ~/.ssh/id_ed25519 Administrator@172.16.1.64 "cmd /c \"cd C:\\gururmm\\agent && set PATH=%PATH%;C:\\Users\\Administrator\\.cargo\\bin && cargo build --release 2>&1\""
|
||||
```
|
||||
|
||||
### pfSense DNS — still pending
|
||||
DHCP DNS still pointing to 172.16.3.50 (invalid). Needs manual change in pfSense web UI:
|
||||
**Services → DHCP Server → DNS Servers → set to 172.16.0.1**
|
||||
This will allow Pluto and other VMs to resolve internet names properly after lease renewal.
|
||||
|
||||
---
|
||||
|
||||
## Update: ~19:30 — Bug Filing, Build Chain Verification, Pluto Static IP
|
||||
|
||||
### Accomplishments
|
||||
|
||||
#### 1. Filed 4 Bugs on Gitea (via internal API — external blocked by Cloudflare)
|
||||
|
||||
Used `http://172.16.3.20:3000/api/v1/` (internal Gitea) to bypass Cloudflare challenge page.
|
||||
|
||||
| Issue | Title |
|
||||
|-------|-------|
|
||||
| #2 | bug: auto-update loop downgrades freshly enrolled agents |
|
||||
| #3 | bug: Windows service registration lost after auto-update restart |
|
||||
| #4 | bug: pending-update.json not cleaned up after failed update |
|
||||
| #5 | bug: sshd on Pluto build VM does not persist across reboots |
|
||||
|
||||
#### 2. Build Chain Verified End-to-End
|
||||
|
||||
**Webhook routing confirmed:**
|
||||
- Gitea webhook: `id=1 active=true url=http://172.16.3.30/webhook/build events=push`
|
||||
- nginx proxies `/webhook/` → `127.0.0.1:9000`
|
||||
- `gururmm-webhook.service` (python3 script) handles requests and spawns `build-agents.sh`
|
||||
|
||||
**Build chain tested — triggered via manual POST:**
|
||||
```bash
|
||||
curl -X POST http://127.0.0.1:9000/webhook/build -H 'Content-Type: application/json' -d '{"ref":"refs/heads/main"}'
|
||||
```
|
||||
|
||||
**Full successful run (v0.6.1):**
|
||||
```
|
||||
2026-04-19 19:22:02 - === Starting agent build ===
|
||||
2026-04-19 19:23:57 - Deploying Linux agent...
|
||||
2026-04-19 19:23:57 - Deploying Windows agent...
|
||||
2026-04-19 19:23:57 - Signing Windows agent v0.6.1 ...
|
||||
[INFO] signing /var/www/gururmm/downloads/gururmm-agent-windows-amd64-0.6.1.exe ...
|
||||
Adding Authenticode signature to /var/www/gururmm/downloads/gururmm-agent-windows-amd64-0.6.1.exe
|
||||
[OK] signed: /var/www/gururmm/downloads/gururmm-agent-windows-amd64-0.6.1.exe
|
||||
2026-04-19 19:24:01 - Windows agent signed OK
|
||||
2026-04-19 19:24:01 - === Build complete: v0.6.1 ===
|
||||
```
|
||||
|
||||
**Signing confirmed working**: Azure Trusted Signing via jsign, SP creds in `/etc/gururmm-signing.env`
|
||||
|
||||
**Symlinks correct after build:**
|
||||
```
|
||||
gururmm-agent-linux-amd64-latest -> gururmm-agent-linux-amd64-0.6.1
|
||||
gururmm-agent-windows-amd64-latest.exe -> gururmm-agent-windows-amd64-0.6.1.exe
|
||||
```
|
||||
|
||||
**Note**: Build ran twice concurrently (Gitea webhook + my manual trigger). Fixed by adding build lock to webhook handler.
|
||||
|
||||
#### 3. Webhook Handler — Build Lock Added
|
||||
|
||||
Updated `/opt/gururmm/webhook-handler.py` to prevent concurrent builds:
|
||||
- Writes PID to `/var/run/gururmm-build.lock` when spawning build
|
||||
- Checks if lock PID is alive before allowing new build; cleans stale locks
|
||||
- Returns `Build already in progress, skipped` if another build is running
|
||||
- Restarted `gururmm-webhook.service` to apply
|
||||
|
||||
#### 4. pfSense DNS Fix — CONFIRMED DONE
|
||||
|
||||
Mike manually changed pfSense DHCP DNS from 172.16.3.50 → 172.16.0.1.
|
||||
|
||||
Confirmed on Pluto:
|
||||
```
|
||||
DNS Servers: 172.16.0.1
|
||||
8.8.8.8
|
||||
1.1.1.1
|
||||
```
|
||||
|
||||
#### 5. Pluto Static IP — SET AND CONFIRMED
|
||||
|
||||
**Method**: Wrote `C:\setip.cmd`, created scheduled task (`SetStaticIP`) to run as SYSTEM, forced it to fire.
|
||||
|
||||
**Final Pluto NIC config:**
|
||||
- IP: `172.16.3.36` (static, DHCP disabled)
|
||||
- Subnet: `255.255.252.0`
|
||||
- Gateway: `172.16.0.1`
|
||||
- DNS: `172.16.0.1`, `8.8.8.8`, `1.1.1.1`
|
||||
|
||||
**SSH one-liner (updated):**
|
||||
```bash
|
||||
ssh -i ~/.ssh/id_ed25519 Administrator@172.16.3.36 "hostname"
|
||||
```
|
||||
|
||||
Old DHCP address (172.16.1.64) is no longer valid.
|
||||
|
||||
---
|
||||
|
||||
### Credentials (unchanged from earlier sections)
|
||||
|
||||
See earlier credential block above — no new credentials this update.
|
||||
|
||||
---
|
||||
|
||||
### Pending / Next Steps (updated)
|
||||
|
||||
1. **Agent bug fixes** — 4 bugs filed (#2-#5). Need code fixes in agent/src:
|
||||
- `#2`: Skip auto-update if `server_version <= current_version`
|
||||
- `#3`: Re-register Windows service after binary replacement
|
||||
- `#4`: Cleanup `pending-update.json` on failure + validate at startup
|
||||
|
||||
2. **Test fresh agent download on Pluto** — download site-configured agent from RMM console, run elevated, confirm auto-install and dashboard enrollment.
|
||||
|
||||
3. **Version bump** — Cargo.toml still at 0.6.1. Bump to 0.6.2 when bug fixes are committed so the new binary supersedes the current one on endpoints.
|
||||
|
||||
4. **Ongoing backlog:**
|
||||
- Deploy session manager to SAGE-SQL (Dataforth)
|
||||
- Howard Gitea account setup
|
||||
- Len's Auto Brokerage — deploy GuruRMM to 10 endpoints
|
||||
- desertrat.com — DMARC p=reject + SPF hardening
|
||||
- jparkinsonaz.com certbot retry
|
||||
|
||||
---
|
||||
|
||||
### Infrastructure (final state)
|
||||
|
||||
| Host | IP | Role |
|
||||
|------|----|------|
|
||||
| gururmm | 172.16.3.30 | GuruRMM server, MariaDB, nginx |
|
||||
| Pluto | **172.16.3.36** (static — confirmed) | Windows build VM |
|
||||
| pfSense | 172.16.0.1 | Office firewall/router/DHCP (DNS fixed) |
|
||||
| Gitea | 172.16.3.20 (SSH port 2222) | git.azcomputerguru.com |
|
||||
|
||||
**Server paths (172.16.3.30):**
|
||||
- Repo: `/home/guru/gururmm`
|
||||
- Dashboard: `/var/www/gururmm/dashboard/`
|
||||
- Downloads: `/var/www/gururmm/downloads/`
|
||||
- Build log: `/var/log/gururmm-build.log`
|
||||
- Build script: `/opt/gururmm/build-agents.sh`
|
||||
- Sign script: `/opt/gururmm/sign-windows.sh`
|
||||
- Signing env: `/etc/gururmm-signing.env` (root-only)
|
||||
|
||||
---
|
||||
|
||||
## Update: ~01:00 — Bug Fixes, v0.6.2 Build, Pluto Build Integration, Status Page
|
||||
|
||||
### Accomplishments
|
||||
|
||||
#### 1. shadcn/ui Post-Review Bug Fixes (3 bugs)
|
||||
|
||||
Three high-severity bugs found by code review after shadcn/ui migration:
|
||||
|
||||
**a) Toaster hardcoded dark theme** (`dashboard/src/components/Toaster.tsx`)
|
||||
- Was: `<Sonner theme="dark" ...>`
|
||||
- Fix: Read from `useTheme()` context, resolve "system" via `window.matchMedia`
|
||||
|
||||
**b) Badge missing `error` variant** (`dashboard/src/components/Badge.tsx`)
|
||||
- Added `error: "border-transparent bg-red-500/15 text-red-600 dark:text-red-400"` variant
|
||||
- Updated `Agents.tsx` to use `variant="error"` (was `variant="destructive"`) for agent error status
|
||||
|
||||
**c) Stale modal form state on re-open** (`Sites.tsx`, `Clients.tsx`)
|
||||
- Added `key={editingClient?.id ?? "new"}` / `key={editingSite?.id ?? "new"}` to force modal remount when target changes
|
||||
|
||||
#### 2. BUG-006: Temperature Sensors Never Collected
|
||||
|
||||
Filed as new Gitea issue covering:
|
||||
- CPU temp collection (`sysinfo::Components`)
|
||||
- GPU temp collection (WMI/nvidia-smi/rocm-smi)
|
||||
- Cross-platform (Windows + Linux)
|
||||
- Agent side: new `TemperatureReading` struct, wired into `SystemMetrics`
|
||||
- Dashboard side: new temperature section in AgentDetail
|
||||
|
||||
Also documented in `docs/FEATURE_ROADMAP.md` Known Bugs section.
|
||||
|
||||
#### 3. Windows .old Binary Cleanup — No-Reboot Solution
|
||||
|
||||
**User rejected** original "defer to next startup" approach:
|
||||
> "Waiting for a reboot is not a valid solution to the update issue. Servers may go months or years between reboots."
|
||||
|
||||
**Final solution** (`agent/src/updater/mod.rs`):
|
||||
1. If existing `.old` is locked, rename to timestamped tombstone (`.old.YYYYMMDDTHHMMSS`) — unblocks the current update without waiting for a reboot
|
||||
2. Spawn detached `cmd.exe /c timeout /t 30 && for %f in (...\*.old*) do del /f /q "%f"` with `CREATE_NO_WINDOW` flag — sweeps all `.old*` files ~30s after service restart
|
||||
|
||||
```rust
|
||||
#[cfg(windows)]
|
||||
use std::os::windows::process::CommandExt;
|
||||
// CREATE_NO_WINDOW = 0x08000000
|
||||
```
|
||||
|
||||
Commit: `e93b56f`
|
||||
|
||||
#### 4. v0.6.2 Build — Completed
|
||||
|
||||
**Version bump:** `agent/Cargo.toml` 0.6.1 → 0.6.2 (commit `f827ab4`)
|
||||
|
||||
**Build triggered** via SSH to `172.16.3.30`:
|
||||
```bash
|
||||
sudo bash /opt/gururmm/build-agents.sh 2>&1 | tee /tmp/gururmm-build.log &
|
||||
```
|
||||
|
||||
**Result:**
|
||||
```
|
||||
2026-04-20 00:32:13 - === Build complete: v0.6.2 ===
|
||||
[OK] signed: /var/www/gururmm/downloads/gururmm-agent-windows-amd64-0.6.2.exe
|
||||
```
|
||||
|
||||
**Note:** v0.6.2 agent was built with MinGW (cross-compile) not MSVC. Pluto integration came after this build.
|
||||
|
||||
#### 5. Pluto Build Integration — build-agents.sh Updated
|
||||
|
||||
**Problem:** `build-agents.sh` was using MinGW cross-compile for Windows, never routing to Pluto.
|
||||
|
||||
**Changes made:**
|
||||
|
||||
**a) Authorized RMM server key on Pluto:**
|
||||
- RMM server key: `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKSqf2/phEXUK8vd5GhMIDTEGSk0LvYk92sRdNiRrjKi guru@gururmm-build`
|
||||
- Added to `C:\ProgramData\ssh\administrators_authorized_keys` on Pluto
|
||||
- Tested: `ssh -o StrictHostKeyChecking=no Administrator@172.16.3.36 "hostname"` → `PLUTO` ✓
|
||||
|
||||
**b) Updated `/opt/gururmm/build-agents.sh`:**
|
||||
- Replaced `cargo build --release --target x86_64-pc-windows-gnu` (MinGW) with:
|
||||
- SSH to Pluto → `git fetch && git reset --hard origin/main && cargo build --release` (MSVC)
|
||||
- SCP `.exe` back to `/tmp/gururmm-agent-windows-$VERSION.exe`
|
||||
- Deploy, sign, sha256 as before
|
||||
- Key variable: `PLUTO="Administrator@172.16.3.36"`
|
||||
- Cargo path on Pluto: `C:\Users\Administrator\.cargo\bin\cargo`
|
||||
|
||||
**Next push to main** will produce a native MSVC Windows binary.
|
||||
|
||||
#### 6. Status Page — rmm.azcomputerguru.com/status
|
||||
|
||||
Built a public system status page (no auth required).
|
||||
|
||||
**Server changes:**
|
||||
- New `server/src/status.rs` — `GET /status` handler:
|
||||
- DB liveness check (`SELECT 1`)
|
||||
- Agent counts from DB (`total`, `online`, `offline`, `error`)
|
||||
- WebSocket connection count from `state.agents.read().await.count()`
|
||||
- Uptime from `state.startup_time.elapsed().as_secs()`
|
||||
- Returns `version` from `env!("CARGO_PKG_VERSION")`
|
||||
- Added `startup_time: std::time::Instant` to `AppState`
|
||||
- Registered as public route in `build_router()` (outside `/api` nest, no auth)
|
||||
|
||||
**Dashboard changes:**
|
||||
- `dashboard/src/api/client.ts` — Added `SystemStatus` interface + `statusApi.get()`
|
||||
- `dashboard/src/pages/Status.tsx` — New public page:
|
||||
- Overall health banner (green/yellow/red)
|
||||
- Per-component rows: API Server, Database, Agent Fleet, WebSocket, Dashboard
|
||||
- Agent breakdown grid (online/offline/error counts)
|
||||
- Auto-refresh every 30s, manual refresh button
|
||||
- `dashboard/src/App.tsx` — `/status` route added as bare route (no ProtectedRoute/PublicRoute)
|
||||
|
||||
**nginx fix:** Added `location /status { proxy_pass http://127.0.0.1:3001; }` to `/etc/nginx/sites-enabled/gururmm` — was missing, causing "Service Disruption" error on first load.
|
||||
|
||||
**Server binary redeployed:** `gururmm-server` rebuilt and swapped (stop service → copy → start):
|
||||
```
|
||||
/opt/gururmm/gururmm-server.backup.20260420-005859 ← backup before swap
|
||||
```
|
||||
|
||||
**Build issue fixed:** `npm install` was needed on build server — shadcn/ui deps (`class-variance-authority`, `@radix-ui/react-slot`) were missing, causing 86 TypeScript errors. Fixed by running `npm install` in `/home/guru/gururmm/dashboard/`.
|
||||
|
||||
**Live verification:**
|
||||
```json
|
||||
{
|
||||
"status": "ok",
|
||||
"version": "0.2.0",
|
||||
"uptime_seconds": 268,
|
||||
"components": {
|
||||
"agents": { "total": 34, "online": 26, "offline": 8, "error": 0 },
|
||||
"websocket": { "connected": 25 }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Commit: `6e54f72`
|
||||
|
||||
---
|
||||
|
||||
### Key Commits (this update)
|
||||
|
||||
| SHA | Description |
|
||||
|-----|-------------|
|
||||
| `5872a72` | docs: add BUG-001 temperature sensor collection gap |
|
||||
| `e93b56f` | fix: Windows .old binary cleanup — tombstone + detached sweeper |
|
||||
| `f827ab4` | chore: bump agent to v0.6.2 |
|
||||
| `6e54f72` | feat: add public system status page at /status |
|
||||
|
||||
---
|
||||
|
||||
### Infrastructure Changes (this update)
|
||||
|
||||
- **Pluto authorized key added:** `guru@gururmm-build` key now in `administrators_authorized_keys`
|
||||
- **`/opt/gururmm/build-agents.sh`** on `172.16.3.30`: now SSHes to Pluto for Windows MSVC build
|
||||
- **`/etc/nginx/sites-enabled/gururmm`**: added `location /status` proxy rule
|
||||
- **`/opt/gururmm/gururmm-server`**: redeployed (v0.2.0 + status endpoint)
|
||||
- **`/var/www/gururmm/dashboard/`**: redeployed with Status page
|
||||
|
||||
**Services on 172.16.3.30:**
|
||||
- `gururmm-server.service` — RMM API + WebSocket (port 3001)
|
||||
- `gururmm-agent.service` — local monitoring agent
|
||||
- `gururmm-webhook.service` — build webhook handler (port 9000)
|
||||
|
||||
---
|
||||
|
||||
### Pending / Next Steps (updated)
|
||||
|
||||
1. **Verify status page after nginx fix** — confirm `rmm.azcomputerguru.com/status` shows green after browser refresh
|
||||
2. **First MSVC build via Pluto** — next push to main will trigger native Windows binary build via Pluto
|
||||
3. **Server version alignment** — server shows `v0.2.0`, agent is `v0.6.2`. Consider aligning in `server/Cargo.toml`
|
||||
4. **BUG-006: Temperature collection** — implement `sysinfo::Components` in agent
|
||||
5. **Windows agent auto-update to 0.6.2** — agents will self-update on next check-in (includes `.old` fix + RequestLogUpload)
|
||||
6. **Ongoing backlog:**
|
||||
- Deploy session manager to SAGE-SQL (Dataforth)
|
||||
- Howard Gitea account setup
|
||||
- Len's Auto Brokerage — deploy GuruRMM to 10 endpoints
|
||||
- desertrat.com — DMARC p=reject + SPF hardening
|
||||
- jparkinsonaz.com certbot retry
|
||||
|
||||
Reference in New Issue
Block a user