3.4 KiB
3.4 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| gururmm-beast-windows-build-host | GURU-BEAST-ROG (i9-14900K) is the PRIMARY GuruRMM Windows build host (Pluto 172.16.3.36 = fallback). Reached from .30 via Tailscale-on-.30 at Beast's tailnet IP 100.101.122.4 as user guru. build-windows.sh does `attempt_build beast || attempt_build pluto`. |
|
Set up 2026-06-12. GURU-BEAST-ROG = PRIMARY Windows build host; Pluto (Administrator@172.16.3.36)
= FALLBACK. deploy/build-pipeline/build-windows.sh selects via
attempt_build beast || attempt_build pluto — falls back if Beast is unreachable/down OR its
build fails. Beast is ~10x faster than Pluto (full set ~12-15 min vs ~21).
How .30 reaches Beast
- Beast is on Wi-Fi
10.2.51.228(a DIFFERENT LAN than the .30 office 172.16.3.x) + tailnet100.101.122.4. .30 (office) could NOT reach it via the pfSense subnet route — the pfSense Tailscale SNAT-subnet-routes is deliberately OFF (so remotes see real LAN IPs), and the raw 172.16.x source didn't complete to Beast. Fix: installed Tailscale ON .30 (nodegururmm-server/100.86.12.15,tailscale up --accept-routes=false) → reaches Beast100.101.122.4peer-to-peer (DERP-relayed, ~50ms — fine for SSH-driven builds). No pfSense/ACL changes. (Don't chase the subnet route again — Tailscale-on-.30 is the working path.) - Build SSH user = guru (an admin; built-in Administrator is disabled). Pipeline path verified:
root@.30 (/root/.ssh/id_ed25519) -> guru@100.101.122.4. Host key pinned in/opt/gururmm/beast_known_hosts. Both root's build key AND GURU-5070's key are in Beast'sC:\ProgramData\ssh\administrators_authorized_keys(ACL: Administrators+SYSTEM only).
Beast build toolchain (under C:\Users\guru)
- Rust: stable + 1.77 toolchains, i686-pc-windows-msvc target for both; cargo/rustup in
C:\Users\guru\.cargo\bin. sccache 0.8.2 (RUSTC_WRAPPER,SCCACHE_DIR=C:\sccache). - MSVC 2022 Build Tools (was already installed). dotnet, git present.
- WiX 4.0.6 (
dotnet tool,C:\Users\guru\.dotnet\tools\wix.exe) + extensionsWixToolset.Util.wixext+WixToolset.UI.wixext@ 4.0.6 (matches Pluto). Repo clone atC:\gururmm(origin URL has the Gitea api-token embedded; credential.helper scrubbed local).
Gotchas (these bit during setup)
- WiX must be 4.x. v6/v7 require accepting a paid OSMF EULA (
WIX7015). Install pinned:dotnet tool install --global wix --version 4.0.6 --add-source https://api.nuget.org/v3/index.json. - Beast NuGet had only the VS offline feed —
dotnet tool install wixANDwix extension addfailed untildotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org. - Wi-Fi is "Public" profile so the stock sshd firewall rule (Private-only) blocked LAN SSH;
added rule
ACG-Build-SSH-22(inbound 22, scoped LocalSubnet+172.16.0.0/12+100.64.0.0/10). - rustup hangs in a detached/no-console context (Start-Process). The pipeline runs builds via an SSH command (has a console) so it's fine; only background-launch validation stalled.
Build user / RMM
- Beast agent id
5233d75b-f589-43c4-b96e-cfa75365a78d(RMM). I bootstrapped SSH/firewall/toolchain via/rmm(agent runs as SYSTEM = elevated) then over SSH (guru@10.2.51.228same-LAN from GURU-5070, orguru@100.101.122.4over tailnet). Pluto build wiring unchanged. reference_pluto_build_server