From c066ae687a5e73aca7548b749b5c5a0647bfe20b Mon Sep 17 00:00:00 2001 From: Maksim Totmin Date: Wed, 24 Jun 2026 10:47:30 +0700 Subject: [PATCH] feat: separate ses-test CLI install via subdirectory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. docs: rename section to 'Установка ses-test' --- README.md | 18 ++++++++++++++++++ cli/pyproject.toml | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 cli/pyproject.toml diff --git a/README.md b/README.md index e1ca2bf..8dd3f81 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/cli/pyproject.toml b/cli/pyproject.toml new file mode 100644 index 0000000..9ad449e --- /dev/null +++ b/cli/pyproject.toml @@ -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*"]