200e078bc5
- Add daemon/ module with aiohttp server, sync client, and handler registry - Add daemon/handlers/ for privileged operations (acme, dnsmasq, firewall, logs, nginx, wireguard) - Add system/acme-deploy.py, vacuum-walld sudoers and systemd service - Update API routes to use daemon client instead of lib/ directly - Update lib/, tests/, and webui/ for new architecture - Update docs and deployment scripts
59 lines
1.2 KiB
TOML
59 lines
1.2 KiB
TOML
[build-system]
|
||
requires = ["setuptools>=64.0"]
|
||
build-backend = "setuptools.build_meta"
|
||
|
||
[project]
|
||
name = "vacuum-wall"
|
||
version = "0.0.1"
|
||
description = "SSL proxy / firewall appliance with zone-based policies"
|
||
requires-python = ">=3.13"
|
||
dependencies = [
|
||
"Flask>=3.0,<4.0",
|
||
"aiohttp>=3.9,<4.0",
|
||
"requests-unixsocket>=0.2,<1.0",
|
||
]
|
||
|
||
[project.scripts]
|
||
vacuum-walld = "daemon.server:main"
|
||
|
||
[project.optional-dependencies]
|
||
dev = [
|
||
"ruff>=0.4.0",
|
||
"pytest>=8.0",
|
||
"pytest-cov>=4.1",
|
||
]
|
||
|
||
[tool.setuptools.packages.find]
|
||
include = ["lib*", "webui*", "daemon*"]
|
||
|
||
[tool.ruff]
|
||
target-version = "py313"
|
||
src = ["."]
|
||
exclude = [".venv"]
|
||
|
||
[tool.ruff.lint]
|
||
select = [
|
||
"E", # pycodestyle errors
|
||
"W", # pycodestyle warnings
|
||
"F", # pyflakes
|
||
"I", # isort
|
||
"UP", # pyupgrade
|
||
"B", # flake8-bugbear
|
||
"SIM", # flake8-simplify
|
||
"RUF", # ruff-specific
|
||
]
|
||
ignore = [
|
||
"E501", # line too long – handled by formatter
|
||
]
|
||
|
||
[tool.ruff.lint.per-file-ignores]
|
||
"__init__.py" = ["F401"]
|
||
|
||
[tool.ruff.format]
|
||
quote-style = "double"
|
||
indent-style = "space"
|
||
skip-magic-trailing-comma = false
|
||
|
||
[tool.pytest.ini_options]
|
||
testpaths = ["tests"]
|
||
pythonpath = ["."] |