Crucible / Docs

Use AOS

AOS is an immutable Linux distribution for headless servers and edge systems. These guides are for developers installing, configuring, and operating AOS on their own machines.

AOS is an early preview. The public golden image is not published yet. First-boot storage provisioning, runtime host.nix activation, package profiles, durable A/B image and configuration generations, and a guarded encrypted-ZFS bare-metal installer are present in the tree. They remain early-preview interfaces that must be qualified on the exact image and platform. The checked-in verified-boot variants still use public test keys; production deployments must supply their own trust material.

#The operating model

LayerHow it is managedPersistence
System imageInstalled from the AOS golden imageImmutable root and UEFI image
First-boot storageLiteral host.nix supplied through metadataCommitted once; later changes are drift
Host configurationPure host.nix evaluation and authenticated package configurationNumbered configuration generations under /var/lib/profiles/system
User packagesapm install, upgrade, remove, and rollback after account storage is provisionedPer-user profile generations under /var/lib/profiles/per-user
Runtime system packagesapm install --system --from DESIRED.tomlMachine-wide package generations under /var/lib/profiles/system-packages
OS imageapm upgrade --system and apm rollback --system --imageA/B image generations under /var/lib/profiles/image

Three command names cover different jobs in the AOS toolchain:

CommandUse it for
apmConsuming packages and switching configuration or image generations
aprCreating, signing, and publishing package registries from a maintainer host
aosRepository and AOS Hub tooling from a development or operations host

All three are independent programs backed by shared Rust libraries. aos has no package-management subcommand, apm cannot publish registries, and apr cannot install packages. Private activation and evaluation operations run through aos-package-runtime; that executable is reserved for AOS services and is not an operator CLI.

The base image installs apm, while AOS units reference the private runtime by an absolute store path. It does not put aos or apr on the image PATH. This keeps source construction, registry-authoring authority, package consumption, and on-host activation as distinct installed capabilities.

#Install and configure

#Operate the host

#Develop and maintain AOS

  • Package an application for AOS follows a service from its derivation through image inclusion, registry publication, and upgrade.
  • Package and service configuration is generated from each package's Nix interface and signed runtime contract. Use apm docs, apm options, the offline apm docs serve browser, or the package documentation workspace in AOS Hub. The generated reference covers nginx, Envoy, k3s and add-ons, registry services, containerd, databases and storage, identity services, network daemons, and KubeEdge without maintaining a second Markdown schema.
  • Deploy AOS in production covers golden-image qualification, platform import, bare metal, and fleet promotion.
  • Maintain the source tree covers Nix builds, image production, the repository CLI, and tests.
  • Build and boot from source is the maintainer integration tutorial; it is not the normal installation path.

Registry producers should continue with Operate an AOS package registry. Hub operators should use the AOS Hub guide.