Skip to main content

Sovereign Command Centre for a Ghost Stack

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wraith_cli-1.7.0.tar.gz (118.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wraith_cli-1.7.0-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file wraith_cli-1.7.0.tar.gz.

File metadata

  • Download URL: wraith_cli-1.7.0.tar.gz
  • Upload date:
  • Size: 118.1 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for wraith_cli-1.7.0.tar.gz
Algorithm Hash digest
SHA256 86ebbb16b2aa7556fdd5a52b1b4dacc3d8d1c08f5e06a0da7282a13c0291d492
MD5 72cc94cb1195e62c9db598223871f449
BLAKE2b-256 3102b4c2d187dd2eec2bb3793537fa3addbb683a8a8ed3bc714f1677c2aedc6e

See more details on using hashes here.

File details

Details for the file wraith_cli-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: wraith_cli-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for wraith_cli-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3bbc69c1be2ff62b38786b10822a45e75a4ff126624f156923535e3544564ce2
MD5 d1385bc9f1aed34df6babbfa839f164d
BLAKE2b-256 917aa0555af9401d39cd0d2a1fa8a4383cb8d7a67af6e9d5121f73c05174f0aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page