2026-05-18 16:55:47 +02:00
|
|
|
## Stack
|
|
|
|
|
|
2026-06-17 07:33:49 +02:00
|
|
|
- **Language:** Python 3.11+
|
|
|
|
|
- **CLI:** Typer + Rich
|
|
|
|
|
- **Key deps:** pyyaml, httpx (Vault/OpenBao API); ssh-keygen subprocess (local CA)
|
|
|
|
|
- **Packaging:** hatchling + uv
|
2026-05-18 16:55:47 +02:00
|
|
|
|
|
|
|
|
## Dev Commands
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Install dependencies
|
2026-06-17 07:33:49 +02:00
|
|
|
uv sync
|
|
|
|
|
|
|
|
|
|
# Run unit tests (integration tests excluded by default)
|
|
|
|
|
uv run pytest
|
|
|
|
|
|
|
|
|
|
# Run real ssh-keygen integration tests
|
|
|
|
|
uv run pytest -m integration
|
2026-05-18 16:55:47 +02:00
|
|
|
|
2026-06-17 07:33:49 +02:00
|
|
|
# Lint
|
|
|
|
|
uv run ruff check .
|
2026-05-18 16:55:47 +02:00
|
|
|
|
2026-06-17 07:33:49 +02:00
|
|
|
# Install CLI locally
|
|
|
|
|
uv tool install .
|
2026-05-18 16:55:47 +02:00
|
|
|
|
2026-06-17 07:33:49 +02:00
|
|
|
# CLI help
|
|
|
|
|
warden --help
|
|
|
|
|
ops-ssh-wrapper --help # after install
|
2026-05-18 16:55:47 +02:00
|
|
|
```
|
2026-06-17 07:33:49 +02:00
|
|
|
|
|
|
|
|
Config and state paths:
|
|
|
|
|
|
|
|
|
|
- `~/.config/warden/warden.yaml` — backend selection (`local` | `vault`)
|
|
|
|
|
- `~/.config/warden/inventory.yaml` — actor registry
|
|
|
|
|
- `~/.local/state/warden/` — certs, keys, `signatures.log`
|