Перейти к содержанию

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 }

Установка

helm upgrade --install results \
  oci://registry.appsec.global/appsecgenai-release/charts/results \
  --version <VERSION> -n genai \
  --wait \
  -f values-results.yaml