chore(memory): consolidate scattered feedback/project/reference files
Compressed memory store 104 -> 71 files via four passes: - Syncro: 19 scattered feedback_syncro_* files merged into 3 rule files (api/billing/workflow) + an on-demand feedback_syncro_history.md for incident detail, quotes, and tech/product ID tables. - Four near-duplicate merges: Howard paste-safety, Pluto build server, Howard backend deferral, IX server access (ssh+tailscale). - Per-cluster rule/state/history split applied to GuruConnect (2->1), Dataforth (3->2), Cascades (7->3), GuruRMM (13->3). - New reference_resource_map.md: single auto-loaded cheatsheet for "do I have access to X and how do I connect from this machine?" - MEMORY.md rewritten to match the new layout. Health: broken backlinks 8->7, overlap clusters 12->5, orphans 17->0.
This commit is contained in:
@@ -1,58 +1,70 @@
|
||||
---
|
||||
name: Pluto Build Server
|
||||
description: General-purpose Windows build VM — hostname PLUTO / Unraid VM name "Claude-Builder" / 172.16.3.36. For any EXE needing native Windows MSVC compilation (utilities, Howard's tools, GuruRMM + GuruConnect agents). Drive via /rmm (agent enrolls as PLUTO) when SSH key isn't authorized.
|
||||
description: General-purpose Windows build VM — hostname PLUTO / Unraid VM "Claude-Builder" / 172.16.3.36. For any EXE needing native Windows MSVC compilation (utilities, Howard's tools, GuruRMM + GuruConnect agents). Drive via /rmm (agent enrolls as PLUTO) when SSH key isn't authorized.
|
||||
type: reference
|
||||
---
|
||||
|
||||
Pluto is a Windows Server VM on Jupiter. It is the **general-purpose Windows build machine** for any project needing a native Windows executable — not just GuruRMM.
|
||||
Pluto is a **Windows Server 2019** VM on Jupiter (Unraid). The **general-purpose Windows build machine** for any project needing a native Windows executable — not just GuruRMM.
|
||||
|
||||
- **Hostname:** PLUTO (VM on Jupiter)
|
||||
- **Unraid VM name:** **Claude-Builder** — the VM is listed as "Claude-Builder" in Unraid; it is the SAME machine as PLUTO / 172.16.3.36. There is **no dedicated `pluto` vault entry** — don't go searching for one.
|
||||
- **Drive it remotely without SSH:** PLUTO runs a GuruRMM agent (client "AZ Computer Guru"). Use `/rmm` — resolve hostname **PLUTO** → agent id at runtime (IDs change on re-enroll; do not hardcode) — to run PowerShell on it. This is the path to use when a workstation's SSH key isn't authorized (e.g. GURU-5070, see below).
|
||||
## Identity
|
||||
|
||||
- **Hostname:** PLUTO
|
||||
- **Unraid VM name:** `Claude-Builder` — same machine as PLUTO / 172.16.3.36. There is **no dedicated `pluto` vault entry** — credentials for Administrator are in SOPS (search the vault for "pluto" if needed).
|
||||
- **Static IP:** 172.16.3.36 (confirmed static 2026-04-19)
|
||||
- **SSH:** `ssh -i ~/.ssh/id_ed25519 Administrator@172.16.3.36` (key auth)
|
||||
- **Authorized keys (verified via RMM 2026-05-26):** `gururmm-build@gururmm-server` and `guru@gururmm-build` (the build server's keys), present in both `C:\ProgramData\ssh\administrators_authorized_keys` and `Administrator\.ssh\authorized_keys`. The old `guru@DESKTOP-0O8A1RL` key (retired machine) has already been rotated out. NOTE: no personal-workstation key (e.g. GURU-5070) is currently authorized — the `ssh -i ~/.ssh/id_ed25519 Administrator@172.16.3.36` workflow below works only from a host whose pubkey is in the file; add GURU-5070's pubkey to `administrators_authorized_keys` if you need direct workstation SSH.
|
||||
|
||||
## Access
|
||||
|
||||
- **SSH (preferred):** `ssh -i ~/.ssh/id_ed25519 Administrator@172.16.3.36` — key auth only.
|
||||
- **Authorized keys (verified via RMM 2026-05-26):** `gururmm-build@gururmm-server` and `guru@gururmm-build` (the build server's keys), in both `C:\ProgramData\ssh\administrators_authorized_keys` and `Administrator\.ssh\authorized_keys`. The retired `guru@DESKTOP-0O8A1RL` key has been rotated out. NO personal-workstation key (e.g. GURU-5070) is currently authorized — add the workstation's pubkey to `administrators_authorized_keys` if you need direct SSH.
|
||||
- **Fallback when SSH key isn't authorized:** PLUTO runs a GuruRMM agent (client "AZ Computer Guru"). Use `/rmm` — resolve hostname **PLUTO** → agent id at runtime (IDs change on re-enroll; do not hardcode) — to run PowerShell on it.
|
||||
- **When SSH fails:** check Jupiter's VM console first (the VM, not the physical host).
|
||||
|
||||
### `administrators_authorized_keys` gotcha
|
||||
|
||||
The file must be **ASCII-encoded** with `icacls /inheritance:r` set. PowerShell `>` writes UTF-16 BOM and silently breaks SSH key auth. Write keys with:
|
||||
```powershell
|
||||
[System.IO.File]::WriteAllText('C:\ProgramData\ssh\administrators_authorized_keys', $keyContent, [System.Text.Encoding]::ASCII)
|
||||
```
|
||||
|
||||
## Installed Toolchain
|
||||
|
||||
- **Rust:** stable-x86_64-pc-windows-msvc (rustup at `C:\Users\Administrator\.cargo\bin`)
|
||||
- **VS Build Tools:** Installed with `Microsoft.VisualStudio.Workload.VCTools` (MSVC linker, CRT, Windows SDK)
|
||||
- **VS Build Tools:** `Microsoft.VisualStudio.Workload.VCTools` (MSVC linker, CRT, Windows SDK)
|
||||
- **WiX 4:** for MSI builds
|
||||
- **Code signing:** Azure Trusted Signing (via `signtool`)
|
||||
- **Git:** v2.47.1.windows.2
|
||||
- **OpenSSH:** Win32-OpenSSH, sshd set to Automatic startup
|
||||
|
||||
## Use Cases
|
||||
|
||||
Use Pluto when you need a **native Windows MSVC build** — produces proper `.exe` files with no MinGW runtime dependency. Examples:
|
||||
- Utilities (internal tooling, one-off scripts compiled to EXE)
|
||||
- Howard's tech tools (MasterBooter, Slint GUI apps, etc.)
|
||||
- GuruRMM agent MSVC builds (when MSVC target is preferred over the automated MinGW build on the Linux server)
|
||||
- Anything using Windows-only APIs or needing code signing via signtool
|
||||
Native Windows MSVC builds — produces `.exe` with no MinGW runtime dependency. Examples:
|
||||
- Internal utilities and one-off compiled scripts
|
||||
- Howard's tech tools (MasterBooter, Slint GUI apps)
|
||||
- GuruRMM Windows agent variants (amd64, x86, legacy, debug) and MSI packaging
|
||||
- Anything using Windows-only APIs or needing `signtool` signing
|
||||
|
||||
**Note:** Routine GuruRMM agent builds are automated on the Linux server (172.16.3.30) via MinGW + jsign. Use Pluto for MSVC-specific builds or one-off tooling.
|
||||
|
||||
## Directory Layout
|
||||
|
||||
- `C:\builds\` — general project builds (create a subdirectory per project)
|
||||
- `C:\builds\` — general project builds (subdirectory per project)
|
||||
- `C:\gururmm\` — GuruRMM repo clone
|
||||
|
||||
## Typical Build Workflow
|
||||
## Typical Workflow
|
||||
|
||||
```bash
|
||||
# 1. SSH in
|
||||
ssh -i ~/.ssh/id_ed25519 Administrator@172.16.3.36
|
||||
|
||||
# 2. Clone or pull project
|
||||
git clone https://azcomputerguru:<token>@git.azcomputerguru.com/azcomputerguru/<repo>.git C:\builds\<project>
|
||||
|
||||
# 3. Build
|
||||
cd C:\builds\<project>
|
||||
cargo build --release
|
||||
|
||||
# 4. SCP output back
|
||||
# From workstation:
|
||||
scp -i ~/.ssh/id_ed25519 Administrator@172.16.3.36:"C:/builds/<project>/target/release/<name>.exe" ./
|
||||
```
|
||||
|
||||
## GuruRMM agent on PLUTO
|
||||
|
||||
Historically runs old versions (0.6.3 as of 2026-05-15). Update it after any Pluto maintenance.
|
||||
|
||||
## Not Neptune
|
||||
|
||||
Neptune is a separate existing server (email/web hosting). Pluto is only for builds.
|
||||
Neptune is a separate server (email/web hosting). Pluto is for builds only.
|
||||
|
||||
Reference in New Issue
Block a user