Install AWC¶
Build the AWC binaries from source and put awcctl on PATH. AWC runs on
Linux only.
Prerequisites¶
- A Linux host, kernel 6.1 or newer, with cgroup v2, FUSE, and OverlayFS enabled.
- Rust 1.94.0.
rust-toolchain.tomlpins the channel plusrustfmtandclippy. Rustup selects it automatically inside the repo. cargo-deny, for the dependency audit. Install it withcargo install cargo-deny.
1. Confirm the host and the toolchain¶
If rustup is installed, it reads rust-toolchain.toml and installs the pinned
toolchain on the first build.
2. Build all crates and binaries¶
make build runs cargo build --workspace --all-targets. The README lists the
other make targets, and .cargo/config.toml mirrors them as cargo aliases.
Default features are the lifecycle core
make build turns the fuse and s3 cargo features off. The binaries
use a no-op base mount and the memory:// object store. That is enough to
exercise the CLI and the host socket. For a real read-only FUSE base mount
and the S3 transport, enable those features or use the release package in
step 6. See Run locally.
3. Locate the binaries¶
make build writes debug binaries under target/debug/:
target/debug/awcd host daemon
target/debug/awc-worker background worker
target/debug/awc-control control plane
target/debug/awcctl CLI
4. Put awcctl on PATH¶
For development, add the build directory to PATH instead of copying:
5. Verify the CLI¶
awcctl status probes a running awcd over its Unix socket. It resolves the
socket from --host-socket or AWC_HOST_SOCKET (default /run/awcd/awcd.sock), so
it needs a live daemon. To stand one up, follow Run locally.
6. Build a release package (optional)¶
For stripped, signed binaries with the production FUSE and S3 features, run the packaging pipeline:
package.sh builds, signs, and tars the stripped binaries. The tarball also
ships the database migrations, offline reference docs, golden manifest vectors,
and an SPDX SBOM. For the install, enroll, and rollback steps on a VM, see
Build and package.
Next¶
- Run locally — stand up the services and run the smoke.
- Your first workspace — the end-to-end workflow.
- Configuration — daemon and worker options.