👻 Wraith-CLI
Sovereign Orchestration & NAS Management for the Ghost Stack
Wraith-CLI is the nervous system of the Ghost Stack. It bridges the gap between high-level container orchestration and bare-metal reality — instant project scaffolding, container operations, and a full NAS management suite in one binary.
🗄️ NAS Management Suite
| Command | Purpose |
|---|---|
wraith disks |
Physical disk inventory — model, serial, capacity, HDD/SSD, bus |
wraith storage |
Filesystem usage with configurable warn/crit thresholds |
wraith raid |
mdraid array and ZFS pool health |
wraith smart /dev/sda |
SMART verdict + failure-predicting attributes per drive |
wraith shares |
NFS exports and Samba shares, guest access flagged |
wraith snap |
ZFS/btrfs snapshot create / list / prune (safe by design) |
wraith doctor |
Full health check suite — cron-friendly exit codes, webhook/ntfy alerts |
wraith report |
Timestamped markdown/JSON audit reports |
Every read-only command takes --json — pipe Wraith straight into dashboards,
monitoring stacks, or fleet tooling. Unattended monitoring is one cron line:
*/30 * * * * wraith doctor --notify
See the NAS Management docs for full coverage.
🚀 Installation & Updates
Wraith-CLI is managed via uv for hermetic stability.
# Initial Installation
uv tool install wraith-cli
# Sovereign Update
wraith update
🔐 Environment Configuration
Defined in your .env or system environment. HTTPS is required for automated
Gitea provisioning.
| Variable | Purpose | Required For |
|---|---|---|
GITEA_API_URL |
Base URL (e.g., https://git.domain.com) |
spawn |
GITEA_TOKEN |
Personal Access Token (PAT) | spawn |
GITEA_TEMPLATE_URL |
HTTPS URL of your base ghost-template |
spawn |
GITEA_COMPOSE_PATH |
Path to Gitea Docker directory | runner-reset |
VIKING_BASE_URL |
API endpoint for heartbeat checks | status |
WRAITH_COMPOSE_PATH |
Default path for stack logs/ps | tail, ps |
🧪 Developer Quality Gate
We use uv for hermetic environment management and maintain a strict >80% coverage
requirement.
# Initialise the Environment
uv sync --all-extras
uv run pre-commit install
# The Quality Gate
uv run pytest --cov=src
📜 Sovereign Principles
- Distributed Sovereignty: Available on PyPI for the world, but optimised for local-first, private-registry mirrors.
- Atomic Execution: Use
uv runto ensure consistency across the stack. - Hardware First: Prioritise bare-metal health and container stability over abstraction.
Metadata
Release files for wraith-cli 1.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wraith_cli-1.7.0.tar.gz | 118.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wraith_cli-1.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 147.5 kB
Release files / wraith_cli-1.7.0.tar.gz
| Download URL | wraith_cli-1.7.0.tar.gz |
|---|---|
| Size | 118.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86ebbb16b2aa7556fdd5a52b1b4dacc3d8d1c08f5e06a0da7282a13c0291d492
|
|
BLAKE2b-256 checksum How to use checksums |
3102b4c2d187dd2eec2bb3793537fa3addbb683a8a8ed3bc714f1677c2aedc6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / wraith_cli-1.7.0-py3-none-any.whl
| Download URL | wraith_cli-1.7.0-py3-none-any.whl |
|---|---|
| Size | 29.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3bbc69c1be2ff62b38786b10822a45e75a4ff126624f156923535e3544564ce2
|
|
BLAKE2b-256 checksum How to use checksums |
917aa0555af9401d39cd0d2a1fa8a4383cb8d7a67af6e9d5121f73c05174f0aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|