Help:Introduction
Введение
Сервер историй Svacer (Svace Server) предназначен для хранения и обработки результатов работы статического анализатора Svace. Он разработан с целью заменить старый сервер историй, встроенный в анализатор Svace. Допускается одновременное использование старого и нового серверов.
Термины
| Project | Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен svace build и svace analyze. На сервере проект содержит в себе несколько branch с результатами работы анализатора | 
| Branch (ветка) | Ветка в проекте с результатами работы анализатора. По умолчанию проект имеет одну ветку — master | 
| Snapshot (снимок) | Результат работы svace analyze, импортированный в промежуточное хранилище или на сервер. Содержит: 
 Допускается импортирование снимков без исходного кода и дополнительной информации | 
| Marker (маркер, предупреждение) | Предупреждение от Svace с информацией о позиции в исходном файле | 
| Svacer | Svace History Server, а также исполняемый файл, содержащий код сервера | 
| Разметка | Проставление статуса маркера с опциональным добавлением комментария | 
Состав дистрибутива
| bin/svacer bin/svacer.exe | Бинарный файл сервера и утилита для импортирования результатов. Режим работы зависит от аргументов | 
| support/svace-migration/svace-migration.jar | Утилита подготовки данных для импорта из старого сервера историй. Требует JDK для запуска. Может использоваться JDK из состава дистрибутива Svace | 
| extra/docker-compose*.yml | Docker-compose файлы для запуска БД PostgreSQL и Svacer в docker-контейнерах | 
| integrations/vscode | Расширение для Visual Studio Code и документация на него | 
Зависимости
| PostgreSQL версии не ниже 10-й | Параметры подключения определяются аргументом при запуске сервера или переменной окружения SVACER_PG_URL. По умолчанию, используется следующий connect URL: postgres://svace:svace@0.0.0.0:5432/svace | 
| libc.so libpthread.so libdl.so linux-vdso.so | Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace | 
| Выделенная директория для хранения object storage | Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации | 
| svace | Для импорта данных на сервер историй требуется наличие Svace на хосте, откуда происходит импорт. Svace используется для получения информации из .svace-dir | 
Используемые порты
Приведены значения по умолчанию. Все значения могут быть переопределены.
| 3002 | Используется для предоставления gRPC API. gRPC API является внутренним и предназначен для загрузки данных на сервер | 
| 8080 | Используется для предоставления REST API и web-сервера для предоставления web-UI | 
Системные требования
| CPU | x86-64. Для обработки больших проектов рекомендуется не менее 8 ядер | 
| RAM | От 4 Гб. Для обработки больших проектов рекомендуется не менее 16 Гб | 
| HDD | От 1 Гб до нескольких Тб при хранении множества снимков больших проектов | 
| OS | 
 | 
