Help:Introduction: Difference between revisions
(update due to client/server binaries split) |
(→Состав дистрибутива: add new files) |
||
| (11 intermediate revisions by the same user not shown) | |||
| Line 21: | Line 21: | ||
|- | |- | ||
| Branch (ветка) | | Branch (ветка) | ||
| Ветка в проекте с результатами работы анализатора. По | | Ветка в проекте с результатами работы анализатора. По умолчанию — master | ||
|- | |- | ||
| Snapshot (снимок) | | Snapshot (снимок) | ||
| Line 44: | Line 44: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| bin/svacer-server | | bin/svacer-server | ||
| Бинарный файл сервера | | Бинарный файл сервера | ||
|- | |||
| bin/svacer-server.sig | |||
| Файл подписи сервера | |||
|- | |- | ||
| bin/svacer | | bin/svacer | ||
| Бинарный файл клиента | | Бинарный файл клиента | ||
|- | |- | ||
| extra/docker-compose*.yml | | | bin/svacerai-server | ||
| Бинарный файл сервера [[Help:XSvacer:AIAssistant|ИИ-ассистента]] | |||
|- | |||
| bin/pdfmerge</br>bin/libpdfium.so | |||
| Бинарный файл и библиотека для [[Help:Installation#Генерация_PDF_на_основе_HTML|нового PDF-генератора]] | |||
|- | |||
| extra/docker-compose*.yml | |||
| docker-compose файлы для запуска Svacer в docker-контейнерах | |||
|} | |} | ||
| Line 57: | Line 67: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| PostgreSQL | | PostgreSQL | ||
| Нужен только для сервера. Рекомендуемая версия — 15 и выше. С более старыми версиями корректная работа Svacer не гарантируется. | |||
|- | |- | ||
| libc.so<br>libpthread.so<br>libdl.so<br>linux-vdso.so | | libc.so<br>libpthread.so<br>libdl.so<br>linux-vdso.so | ||
| Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace | | Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace | ||
|- | |- | ||
| | | Директория для хранения object storage | ||
| Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации | | Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации | ||
|- | |- | ||
| Svace | | Svace | ||
| | | Нужен для импорта результатов анализа из .svace-dir. При этом лицензия на Svace нужна только для анализа, для импорта она не требуется | ||
|} | |} | ||
| Line 90: | Line 99: | ||
|- | |- | ||
| RAM | | RAM | ||
| От 4 | | От 4 ГБ. При обновлении между версиями лучше не меньше 8 ГБ. Для больших проектов — 16+ ГБ | ||
|- | |- | ||
| HDD | | HDD | ||
| От 1 | | От 1 ГБ до нескольких ТБ при хранении множества снимков больших проектов | ||
|- | |- | ||
| OS | | OS | ||
| Line 99: | Line 108: | ||
* Ubuntu 18 и выше | * Ubuntu 18 и выше | ||
* Debian 10 и выше | * Debian 10 и выше | ||
* RHEL/CentOS | * RHEL/CentOS 8 | ||
* Rocky Linux 9 и выше | |||
* Astra Linux Special Edition 1.7, базовый уровень защищенности | * Astra Linux Special Edition 1.7, базовый уровень защищенности | ||
* Alt Linux p8 и выше | * Alt Linux p8 и выше | ||
| Line 105: | Line 115: | ||
|- | |- | ||
| Browser | | Browser | ||
| | | | ||
В качестве клиента для веб-интерфейса Svacer | В качестве клиента для веб-интерфейса Svacer | ||
* Chrome 103 и выше | * Chrome 103 и выше | ||
Latest revision as of 14:31, 14 November 2025
Введение
Svacer предназначен для хранения и обработки результатов статического анализатора Svace и других анализаторов, поддерживающих формат SARIF.
Svacer состоит из двух исполняемых файлов: сервера и клиента
- Сервер используется для хранения и обработки результатов анализа, для запуска нужен PostgreSQL с созданной БД
- Клиент — для взаимодействия с сервером, для него никакие зависимости не требуются
Запущенный сервер Svacer предоставляет web-UI и REST API для взаимодействия.
В клиенте Svacer доступны команды для импорта предупреждений, загрузки их на сервер и прочего взаимодействия с сервером.
Термины
| Project | Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен svace build и svace analyze.
На сервере проект содержит в себе несколько веток с результатами работы анализатора |
| Branch (ветка) | Ветка в проекте с результатами работы анализатора. По умолчанию — master |
| Snapshot (снимок) | Результат работы svace analyze, импортированный в промежуточное хранилище или на сервер. Содержит:
Допускается импорт снимков без исходного кода и дополнительной информации |
| Marker (маркер, предупреждение) | Предупреждение от статического анализатора с информацией о позиции в исходном файле |
| Разметка | Проставление статуса маркера с опциональным добавлением комментария |
Состав дистрибутива
| bin/svacer-server | Бинарный файл сервера |
| bin/svacer-server.sig | Файл подписи сервера |
| bin/svacer | Бинарный файл клиента |
| bin/svacerai-server | Бинарный файл сервера ИИ-ассистента |
| bin/pdfmerge bin/libpdfium.so |
Бинарный файл и библиотека для нового PDF-генератора |
| extra/docker-compose*.yml | docker-compose файлы для запуска Svacer в docker-контейнерах |
Зависимости
| PostgreSQL | Нужен только для сервера. Рекомендуемая версия — 15 и выше. С более старыми версиями корректная работа Svacer не гарантируется. |
| libc.so libpthread.so libdl.so linux-vdso.so |
Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace |
| Директория для хранения object storage | Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации |
| Svace | Нужен для импорта результатов анализа из .svace-dir. При этом лицензия на Svace нужна только для анализа, для импорта она не требуется |
Используемые порты
Приведены значения по умолчанию. Все значения могут быть переопределены.
| 3002 | Используется для предоставления gRPC API (внутренний API для загрузки данных на сервер) |
| 8080 | Используется для REST API и web-сервера для предоставления web-UI |
Системные требования
| CPU | x86-64. Для больших проектов рекомендуется не менее 8 ядер |
| RAM | От 4 ГБ. При обновлении между версиями лучше не меньше 8 ГБ. Для больших проектов — 16+ ГБ |
| HDD | От 1 ГБ до нескольких ТБ при хранении множества снимков больших проектов |
| OS |
|
| Browser |
В качестве клиента для веб-интерфейса Svacer
|