feat: separate ses-test CLI install via subdirectory

Add cli/pyproject.toml so analysts can install only ses-test
without the monitoring daemon or Zabbix integration.

pip install "ses-test @ git+https://...#subdirectory=cli"
→ only ses-test binary, no ses-monitor in PATH

Root pyproject.toml unchanged — daemon install still provides both.
This commit is contained in:
Maksim Totmin 2026-06-24 10:47:30 +07:00
parent fbfd073369
commit 0f77021ad9
2 changed files with 52 additions and 0 deletions

View File

@ -199,6 +199,24 @@ journalctl -u ses-monitor -f
3. Нажать Import
4. Привязать шаблон "SES Monitor" к нужному хосту
## Установка только ses-test (для аналитиков)
Если нужна только утилита `ses-test` для отладки YAML-сценариев (без демона и Zabbix):
```bash
pip install "ses-test @ git+https://git.totmin.ru/en2zmax/ses-monitor.git#subdirectory=cli"
```
После установки доступна одна команда — `ses-test`:
```bash
ses-test --help
ses-test my_scenario.yaml --ses-url http://ses-host:6190
ses-test my_scenario.yaml --ses-url http://ses-host:6190 --dry-run
```
Подробнее — см. раздел [«Как адаптировать под ваш проект»](#как-адаптировать-под-ваш-проект).
## Формат сценариев
Сценарии описываются в YAML-файлах в каталоге `config/scenarios/`. Это гибкий DSL, который не зависит от конкретного проекта SES.

34
cli/pyproject.toml Normal file
View File

@ -0,0 +1,34 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "ses-test"
version = "1.0.0"
description = "CLI для пошагового тестирования YAML-сценариев SES"
requires-python = ">=3.9"
license = {text = "MIT"}
authors = [
{name = "SES Monitoring Team"}
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Topic :: Software Development :: Testing",
]
dependencies = [
"httpx>=0.21",
"pyyaml>=5.4",
]
[project.scripts]
ses-test = "ses_monitor.cli:main"
[tool.setuptools.packages.find]
where = ["../src"]
include = ["ses_monitor*"]