Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,34 @@ dependencies = [
# asyncio.wait_for (replaces the sync `requests` + daemon-thread deadline hack,
# which is why `requests` is no longer a direct dependency).
"httpx>=0.27",
"typer>=0.26.8",
"pydantic-settings>=2.14.2",
"typer>=0.27.1",
"pydantic-settings>=2.15.0",
"rich>=13",
# Pure-Python OCI client for pulling golden VM images (no oras CLI dep). Shared
# by BOTH backends now — the controller pulls one qcow2 and fans it to libvirt
# hosts *and* uploads it to Glance — so it lives in base deps, not an extra.
"oras>=0.2",
"oras>=0.2.43",
# Retry/backoff for the in-process async-op registry (husk.ops) that runs the
# slow image staging off the reconcile thread — replaces hand-rolled backoff.
"tenacity>=8.2",
# Prometheus exposition: escaping, metric-family typing and `generate_latest`.
# husk registers *collectors* rather than library Gauge/Counter objects — see
# husk.metrics for why (labelsets that must expire, and state we persist).
"prometheus-client>=0.20",
"prometheus-client>=0.26.0",
# huskd's single HTTP surface (dashboard + /status /metrics /healthz /events).
# Quart shares one event loop with the runner poller and the reconcile tasks.
# hypercorn is the ASGI server Quart's run_task drives.
"quart>=0.19",
"quart>=0.21.0",
# Cloud-init/nftables templating (husk/files/*.j2). Already in the tree via
# Quart, but declared because this module imports it directly.
"jinja2>=3.1",
"hypercorn>=0.16",
]

[project.optional-dependencies]
dev = ["pytest", "ruff>=0.15.20"]
dev = ["pytest", "ruff>=0.16.2"]
# libvirt backend — kept optional so the OpenStack/CI path needs no libvirt headers.
libvirt = ["libvirt-python>=12.5.0"]
libvirt = ["libvirt-python>=12.6.0"]

[project.scripts]
huskd = "husk.cli:huskd"
Expand Down
Loading
Loading