Results Service¶
Хранение и агрегация результатов сканирований. Принимает события о результатах атак из NATS, сохраняет в БД и MinIO.
Порт 8002
results слушает на порту 8002, не 8000. Учитывайте при настройке HTTPRoute и liveness-probe.
Назначение¶
Центральное хранилище результатов: уязвимости, артефакты атак, статистика. Подписывается на NATS stream RESULTS. Предоставляет REST API для получения результатов через ui-gateway и orchestrator.
Зависимости¶
Входящие¶
| Сервис | Протокол | Назначение |
|---|---|---|
orchestrator |
HTTP | чтение результатов сканирований |
ui-gateway |
HTTP | отображение результатов в UI |
nats |
JetStream | получение событий RESULTS.*.* |
Исходящие¶
| Сервис | Назначение |
|---|---|
postgres |
хранение метаданных результатов (схема results) |
nats |
подписка на stream RESULTS |
minio |
чтение/запись артефактов атак (несколько бакетов) |
S3 бакеты:
- results-artifacts — основной бакет результатов
- cv-attack-artifacts — adversarial-изображения
- cv-images — исходные изображения
- asr-attack-artifacts — adversarial-аудио
- audio-samples — исходные аудиофайлы
Values¶
| Параметр | По умолчанию | Обязателен | Описание |
|---|---|---|---|
image.name |
— | да | registry.appsec.global/appsecgenai-release/results |
image.tag |
— | да | Версия образа |
imagePullSecrets[0].name |
— | да | imagePullSecret |
secretEnv.DATABASE_URL |
— | да | PostgreSQL connection string |
secretEnv.S3_ACCESS_KEY |
— | да | MinIO root user |
secretEnv.S3_SECRET_KEY |
— | да | MinIO root password |
env.OTEL_SDK_DISABLED |
— | нет | "true" если нет otel-collector |
env.S3_PUBLIC_ENDPOINT |
— | нет | Публичный URL MinIO для presigned URL (доступен браузеру) |
global.url.natsUrl |
{svc: nats, port: 4222, scheme: nats} |
нет | |
global.url.s3Endpoint |
{svc: minio, port: 9000, scheme: http} |
нет |
Пример values.yaml¶
# values-results.yaml
image:
name: registry.appsec.global/appsecgenai-release/results
tag: "<VERSION>"
imagePullSecrets:
- name: harbor-cr
secretEnv:
DATABASE_URL: "postgresql+asyncpg://genai_admin:<password>@postgres:5432/genai_db"
S3_ACCESS_KEY: "<minio-root-user>"
S3_SECRET_KEY: "<minio-root-password>"
env:
ENVIRONMENT: "production"
OTEL_SDK_DISABLED: "true"
S3_BUCKET_NAME: "results-artifacts"
S3_PUBLIC_ENDPOINT: "https://minio.app.example.com"
global:
url:
natsUrl: { svc: nats, port: 4222, scheme: nats }
s3Endpoint: { svc: minio, port: 9000, scheme: http }