Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Data Arch

work/resources/arch::Arch


Traits

∈ Deserialize
∈ Display
∈ PartialEquality
∈ Serialize
∈ ToString


CPU architecture for a worker request.

ToString and Display return the canonical architecture string (e.g. "amd64", "arm64").

Each architecture is built with a function, and most have two: one named as in the OCI image specification (the names of Go’s GOARCH list, like |amd64()), and one named as Rust names its target architectures (like |x86_64()). Both give the same architecture, so use the names you are used to.

Wherever an architecture is given as text, in a request for example, both names are understood too. Architectures are always displayed and written with the first name of the table.

FunctionArchitectureInformation
|amd64(), |x86_64()amd64, x86_6464-bit x86 (Intel, AMD). Most servers, cloud instances, PCs and Intel Macs.
|arm64(), |aarch64()arm64, aarch6464-bit ARM. Apple Silicon Macs, AWS Graviton and other ARM cloud instances, Raspberry Pi with a 64-bit system.
|i386(), |x86(), |i686()386, x86, i68632-bit x86. Old PCs and legacy systems.
|arm(), |armv7()arm, armv732-bit ARM, hard float. Raspberry Pi with a 32-bit system, embedded boards.
|riscv64(), |riscv64gc()riscv64, riscv64gc64-bit RISC-V. Development boards and emerging servers.
|ppc64le(), |powerpc64le()ppc64le, powerpc64le64-bit PowerPC, little endian. IBM Power servers running Linux.
|ppc64(), |powerpc64()ppc64, powerpc6464-bit PowerPC, big endian. Older IBM Power and legacy PowerPC systems.
|s390x()s390xIBM Z mainframes, including LinuxONE.
|loong64(), |loongarch64()loong64, loongarch6464-bit LoongArch. Recent Loongson processors.
|mips()mips32-bit MIPS, big endian. Legacy networking equipment.
|mipsle(), |mipsel()mipsle, mipsel32-bit MIPS, little endian. Routers and embedded devices.
|mips64()mips6464-bit MIPS, big endian. Legacy networking equipment and servers.
|mips64le(), |mips64el()mips64le, mips64el64-bit MIPS, little endian. Older Loongson processors and some network devices.
|wasm32()wasm32, wasm32-bit WebAssembly. Browsers, WASI runtimes and edge platforms.
|wasm64()wasm6464-bit WebAssembly. Experimental, few runtimes support it.

|local_arch gives the architecture of the machine running the engine.

An architecture no engine is built for, or that no provider offers, can still be declared: the request is then refused with a message naming the need. The local compose location only runs the architecture of the host.