alloy-provisioner Command Reference¶
alloy-provisioner runs inside a Linux system (PC, laptop, or server, VM, WSL2, or Docker) and applies a blueprint to install packages, download toolchains, and configure the environment. This page documents the CLI; for the full mental model see How Alloy works. The alloy-host reference documents the host-side tool that manages VMs and runs the provisioner inside them.
Subcommands¶
alloy-provisioner install [name[:tag]]¶
Install supports two modes:
install <name[:tag]>: pull a blueprint from the registry and run it immediately (recommended for Alloy Hub).installwith no name (and--blueprint-dir): run a local blueprint directory without pulling from the registry.
sudo alloy-provisioner install community/arm-none-eabi
sudo alloy-provisioner install community/nrf91:1.0.13
sudo alloy-provisioner install myproject/my-blueprint --registry my-registry.example.com
# Local blueprint (already cloned or in a repo)
sudo alloy-provisioner install --blueprint-dir /path/to/blueprint
Use named install when your blueprint is hosted in Alloy Hub/registry.
Use install --blueprint-dir ... when blueprint files are already on disk.
alloy-provisioner clone <name[:tag]>¶
Pull blueprint files from the registry without running them. Files are written to:
<blueprint-dir>/blueprints/<name> (default base: ~/.alloy-it/).
alloy-provisioner clone community/raspberry-pi
# Inspect the blueprint, then:
sudo alloy-provisioner install --blueprint-dir ~/.alloy-it/blueprints/community/raspberry-pi
Running from a local blueprint¶
If the blueprint is already on disk (e.g. after clone, or a local project):
Use this when blueprint files are already present locally (for example in a repo
folder or after clone).
For Docker builds where you want tasks with exclude: [docker] to be skipped:
Or set the directory via environment variable:
export ALLOY_BLUEPRINT_DIR=/path/to/blueprint
sudo -E alloy-provisioner install --blueprint-dir "$ALLOY_BLUEPRINT_DIR"
Flags¶
| Flag | Description | Default |
|---|---|---|
--blueprint-dir |
Path to the blueprint directory. Overrides ALLOY_BLUEPRINT_DIR. |
$HOME/.alloy-it |
--registry |
Registry base URL for pulling blueprints. Overrides ALLOY_REGISTRY. |
api.alloy-it.io |
--tag |
Blueprint tag/version for install/clone when not provided as name:tag. |
latest |
--platform |
Force OS/architecture (e.g. linux/arm64). |
Auto-detect |
--env-file |
Path to an env file for variables and credentials (see Variables). | – |
--version |
Print version and exit. | – |
Legacy: -pull, -repository are still supported; prefer the install and clone subcommands.
Runtime environment tags¶
Use these flags when you want blueprint exclude filters to be evaluated for a
specific runtime context:
| Flag | Activates tag | Typical usage |
|---|---|---|
--docker |
docker |
Docker image builds and containerized provisioning |
--wsl2 |
wsl2 |
WSL2 guest provisioning |
Example (docker tag active):
Environment variables¶
| Variable | Purpose |
|---|---|
ALLOY_BLUEPRINT_DIR |
Blueprint directory path (same as -blueprint-dir). |
ALLOY_REGISTRY |
Registry URL for pulling blueprints. |
ALLOY_REGISTRY_USERNAME |
Username for private registry authentication. |
ALLOY_REGISTRY_PASSWORD |
Password or token for private registry authentication. |
ALLOY_ENV_DOCKER |
If set to 1, activates the docker environment tag. |
ALLOY_ENV_WSL2 |
If set to 1, activates the wsl2 environment tag. |
Custom variables (e.g. for blueprint required_env:) can be set in an env file and passed with -env-file, or exported before running the provisioner.
Next steps¶
- Installing environments: native, alloy-host, Docker
- Blueprint variables and env files
- alloy-host command reference