Skip to content

Архитектура и компоненты

Компоненты

VAMPY состоит из следующих компонентов:

Компонент Описание Назначение
vDeck Frontend приложения Веб-интерфейс для работы с системой
vEngine Backend API Основное API приложения, обработка запросов
vFiles Сервис файлов Загрузка, хранение и раздача файлов
vBackground Фоновые задачи Обработка асинхронных задач (базовый режим)
vBackgroundSeparated Разделенные фоновые задачи Специализированные воркеры для разных типов задач:
- cpuLoadScan - выполнение и отслеживание сканирования
- cpuLoadCalc - агрегации и пересчет статистики
- businessFlow - бизнес-логика приложения
- highPriorityCalc - высокоприоритетные вычисления
vOrchestration Оркестрация сканирования Управление запуском сканеров (Semgrep, Trivy, Trufflehog и др.)
vScheduling Планировщик задач Выполнение задач по расписанию
vReports Генерация отчетов Подготовка и экспорт отчетов
vBro AI сервис Обработка запросов к AI для анализа уязвимостей
vPostgres База данных PostgreSQL (опционально, можно использовать внешнюю БД)
vPGBouncer Connection pooler Управление соединениями к PostgreSQL
vRedis Кеш и очереди Redis для кеширования и управления очередями задач (опционально, можно использовать внешний Redis)

Примеры подов

После установки VAMPY в namespace будут созданы поды для каждого компонента. Имена подов формируются по шаблону: <RELEASE_NAME>-v-<COMPONENT>-<POD_HASH>.

Соответствие компонентов и подов

Компонент Имя пода (префикс) Пример имени пода
vDeck <RELEASE_NAME>-v-deck-* vampy-v-deck-7f8b9c4d5e-abc12
vEngine <RELEASE_NAME>-v-engine-* vampy-v-engine-6a5b4c3d2e-def34
vFiles <RELEASE_NAME>-v-files-* vampy-v-files-9c8d7e6f5a-ghi56
vBackground (базовый режим) <RELEASE_NAME>-v-background-* vampy-v-background-5e4d3c2b1a-jkl78
vBackgroundSeparated.cpuLoadScan <RELEASE_NAME>-v-background-cpu-load-* vampy-v-background-cpu-load-4d3c2b1a9z-mno90
vBackgroundSeparated.cpuLoadCalc <RELEASE_NAME>-v-background-cpu-load-* vampy-v-background-cpu-load-3c2b1a9z8y-pqr12
vBackgroundSeparated.businessFlow <RELEASE_NAME>-v-background-business-flow-* vampy-v-background-business-flow-2b1a9z8y7x-stu34
vBackgroundSeparated.highPriorityCalc <RELEASE_NAME>-v-background-high-priority-calc-* vampy-v-background-high-priority-calc-1a9z8y7x6w-vwx56
vOrchestration <RELEASE_NAME>-v-orchestration-* vampy-v-orchestration-9z8y7x6w5v-yza78
vScheduling <RELEASE_NAME>-v-scheduling-* vampy-v-scheduling-8y7x6w5v4u-bcd90
vReports <RELEASE_NAME>-v-reports-* vampy-v-reports-7x6w5v4u3t-efg12
vBro <RELEASE_NAME>-v-bro-* vampy-v-bro-6w5v4u3t2s-hij34
vPostgres <RELEASE_NAME>-v-postgres-* vampy-v-postgres-5v4u3t2s1r-klm56
vPGBouncer <RELEASE_NAME>-v-pgbouncer-* vampy-v-pgbouncer-4u3t2s1r0q-nop78
vRedis <RELEASE_NAME>-v-redis-* vampy-v-redis-3t2s1r0q9p-qrs90

Примечание: Если используется режим vBackgroundSeparated (включен в production), поды vBackground не создаются. Вместо них создаются специализированные поды для каждого типа задач.

Пример получения списка всех подов

После успешной установки команда kubectl get pods -n $RELEASE_NAMESPACE покажет примерно следующее:

$ kubectl get pods -n vampy

NAME                                                      READY   STATUS    RESTARTS   AGE
vampy-v-deck-7f8b9c4d5e-abc12                             1/1     Running   0          5m
vampy-v-engine-6a5b4c3d2e-def34                           1/1     Running   0          5m
vampy-v-engine-6a5b4c3d2e-ghi56                           1/1     Running   0          5m
vampy-v-engine-6a5b4c3d2e-jkl78                           1/1     Running   0          5m
vampy-v-files-9c8d7e6f5a-mno90                            1/1     Running   0          5m
vampy-v-orchestration-9z8y7x6w5v-pqr12                    1/1     Running   0          5m
vampy-v-scheduling-8y7x6w5v4u-stu34                       1/1     Running   0          5m
vampy-v-reports-7x6w5v4u3t-vwx56                          1/1     Running   0          5m
vampy-v-bro-6w5v4u3t2s-yza78                              1/1     Running   0          5m
vampy-v-background-cpu-load-4d3c2b1a9z-abc12              1/1     Running   0          5m
vampy-v-background-cpu-load-3c2b1a9z8y-def34              1/1     Running   0          5m
vampy-v-background-business-flow-2b1a9z8y7x-ghi           1/1     Running   0          5m
vampy-v-background-high-priority-calc-1a9z8y7x6w-jkl78    1/1     Running   0          5m
vampy-v-postgres-5v4u3t2s1r-mno90                         1/1     Running   0          5m
vampy-v-pgbouncer-4u3t2s1r0q-pqr12                        1/1     Running   0          5m
vampy-v-redis-3t2s1r0q9p-stu34                            1/1     Running   0          5m