| name | install-system-dependencies |
| description | Install the system dependencies required by the deployer (OpenTofu, Ansible, LXD, cargo-machete) using the built-in dependency-installer. This is the setup/installer step before using the deployer for the first time. Triggers on "install dependencies", "install system dependencies", "setup deployer", "first time setup", "missing dependency", "install opentofu", "install ansible", "install lxd", or "deployer setup". |
| metadata | {"author":"torrust","version":"1.0"} |
Install System Dependencies
Use the built-in dependency-installer package to install all tools required to run the deployer.
Recommended Setup Workflow
cargo run -p torrust-tracker-deployer-dependency-installer --bin dependency-installer check
cargo run -p torrust-tracker-deployer-dependency-installer --bin dependency-installer install
cargo run -p torrust-tracker-deployer-dependency-installer --bin dependency-installer check
Commands
cargo run -p torrust-tracker-deployer-dependency-installer --bin dependency-installer install
cargo run -p torrust-tracker-deployer-dependency-installer --bin dependency-installer install --dependency opentofu
cargo run -p torrust-tracker-deployer-dependency-installer --bin dependency-installer install --verbose
Dependencies Installed
| Dependency | Purpose |
|---|
opentofu | Infrastructure provisioning (provision) |
ansible | VM configuration (configure, release) |
lxd | Local VM provider (LXD environments) |
cargo-machete | Unused dependency detection (linter / CI) |
Exit Codes
0 — All dependencies installed successfully
1 — One or more installations failed
2 — Invalid arguments
3 — Internal error
Notes
- The
install subcommand requires system package manager access (may prompt for sudo)
- Internet access is required to download installers (OpenTofu fetches from
opentofu.org)
- After installation, re-run
check to confirm everything is ready
- In GitHub Copilot agent environments, outbound network access to
opentofu.org must be allowlisted — see docs/contributing/copilot-agent/firewall.md