Part of #151.
Why. New competitors need build toolchains on the cluster nodes (or cross-built + staged). Per the cluster-pristine rule, every install must be ansible-driven with manifest cleanup — NEVER hand-installed.
Scope.
- Extend deploy/provisioning playbooks to install (idempotently, manifest-tracked, with matching uninstall in
mage Cleanup): Zig (for the architectural-peer issue), and for the TechEmpower-leaders issue: .NET SDK, a JVM (+ Vert.x/Netty build), Node (uWebSockets.js), C++ toolchain + cmake (drogon). Rust/Bun/Python already provisioned.
- Prefer cross-compile + stage prebuilt binaries from the dev Mac / CI where feasible (as Rust does via
release-fat), to keep nodes pristine + provisioning fast.
- Cross-arch: native binaries built for BOTH amd64 (msa2-server) and arm64 (msr1).
- Update
mage status / manifest to show staged competitor binaries per arch.
Acceptance. mage Deploy stages every competitor binary for both arches; mage Cleanup removes all of it + the toolchains; mage status reflects state.
Refs: ansible/deploy.yml, mage_cluster.go, cluster-pristine rule.
Part of #151.
Why. New competitors need build toolchains on the cluster nodes (or cross-built + staged). Per the cluster-pristine rule, every install must be ansible-driven with manifest cleanup — NEVER hand-installed.
Scope.
mage Cleanup): Zig (for the architectural-peer issue), and for the TechEmpower-leaders issue: .NET SDK, a JVM (+ Vert.x/Netty build), Node (uWebSockets.js), C++ toolchain + cmake (drogon). Rust/Bun/Python already provisioned.release-fat), to keep nodes pristine + provisioning fast.mage status/ manifest to show staged competitor binaries per arch.Acceptance.
mage Deploystages every competitor binary for both arches;mage Cleanupremoves all of it + the toolchains;mage statusreflects state.Refs:
ansible/deploy.yml,mage_cluster.go, cluster-pristine rule.