Skip to main content

Documentation PyPI - Version PyPI - License PyPI - Python Version

👻 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

  1. Distributed Sovereignty: Available on PyPI for the world, but optimised for local-first, private-registry mirrors.
  2. Atomic Execution: Use uv run to ensure consistency across the stack.
  3. 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)

Source distribution for wraith-cli 1.7.0
File Size Uploaded
wraith_cli-1.7.0.tar.gz 118.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wraith-cli 1.7.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

1.7.0 This release

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page