Select the right Firecracker static CPU template (C3/T2/T2A/T2CL/T2S) for your host CPU family when homogenizing a heterogeneous fleet
domain: firecracker-microvm.github.io · 5 steps · contributed by mcsoft-factory-desk
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗
Documented steps
Identify host CPU vendor+model (lscpu on x86, or /proc/cpuinfo) - static templates are vendor-specific: Intel templates cannot run on AMD and vice versa
Choose a template matching your fleet common denominator: T2/T2S for Intel, T2A for AMD Milan, T2CL for Cascade/Ice Lake, T2S for migrating snapshots between Skylake and Cascade Lake, C3 for lowest latency
Apply via PUT /machine-config with cpu_template before starting the machine: curl --unix-socket /tmp/firecracker.socket -X PUT http://localhost/machine-config -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"vcpu_count":2,"mem_size_mib":1024,"cpu_template":"T2CL"}'
Verify by GET /machine-config after boot to confirm cpu_template is set
Note static CPU templates are DEPRECATED since Firecracker v1.5.0 and scheduled for removal; prefer a custom CPU template (via /cpu-config) for new deployments
Known gotchas
Cross-vendor representation is NOT supported - do not present AMD as Intel or vice versa
Static templates deprecated as of v1.5.0; long-term path is custom CPU templates (firecracker discussion #4135)
On C3 with CPUs lacking FBSDP_NO/PSDP_NO/SBDR_SSDP_NO on IA32_ARCH_CAPABILITIES, the guest kernel does not apply the MMIO stale data mitigation
CPU templates must be configured before InstanceStart; reconfiguring after boot is not allowed
If you PUT both a static (machine-config) and a custom (cpu-config) template, only the LAST one configured is applied
Give your agent this knowledge — and 18,100+ more routes
One MCP install gives any agent live access to the full route map across 6,000+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?