Help:Introduction: Difference between revisions
m (fix after review) |
m (some minor fixes) |
||
Line 50: | Line 50: | ||
| Бинарный файл клиента | | Бинарный файл клиента | ||
|- | |- | ||
| extra/docker-compose*.yml | | | extra/docker-compose*.yml | ||
| docker-compose файлы для запуска БД PostgreSQL и Svacer в docker-контейнерах | |||
|} | |} | ||
Line 64: | Line 65: | ||
| Серверная часть написана на 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 не требуется | ||
|} | |} | ||
Revision as of 16:52, 22 May 2024
Введение
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.exe |
Бинарный файл сервера |
bin/svacer bin/svacer.exe |
Бинарный файл клиента |
extra/docker-compose*.yml | docker-compose файлы для запуска БД PostgreSQL и Svacer в docker-контейнерах |
Зависимости
PostgreSQL версии 10 и выше. Нужен только для сервера | Параметры подключения определяются при запуске сервера аргументом --pg или переменной окружения SVACER_PG_URL. По умолчанию: postgres://svace:svace@0.0.0.0:5432/svace Можно запускать PostgreSQL в docker-контейнере, но в production мы рекомендуем использовать выделенный сервер |
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 Гб. Для больших проектов рекомендуется не менее 16 Гб |
HDD | От 1 Гб до нескольких Тб при хранении множества снимков больших проектов |
OS |
|
Browser |
В качестве клиента для веб-интерфейса Svacer
|