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

Scan Orchestrator

Оркестратор сканирований. Координирует выполнение атак: принимает запрос на сканирование, создаёт задания для атакующих сервисов через NATS, агрегирует прогресс.

Назначение

Центральный координатор платформы. Принимает запросы от ui-gateway, проверяет лицензию, формирует план атак, публикует задания в NATS stream ATTACKS, отслеживает выполнение через stream SCANS.

Зависимости

Входящие

Сервис Протокол Назначение
ui-gateway HTTP запуск/остановка/мониторинг сканирований

Исходящие

Сервис Назначение
postgres хранение состояния сканирований (схема scan_orchestrator)
redis (DB 1) очереди и distributed locks
nats публикация ATTACKS, чтение SCANS и RESULTS
model-mgmt получение метаданных модели
scan-profile получение параметров атаки
results чтение результатов
jailbreak-api проверка доступности
asr-api проверка доступности
cv-api проверка доступности
license-service проверка лицензии перед сканированием

Values

Параметр По умолчанию Обязателен Описание
image.name да registry.appsec.global/appsecgenai-release/orchestrator
image.tag да Версия образа
imagePullSecrets[0].name да imagePullSecret
secretEnv.DATABASE_URL да PostgreSQL connection string
env.AUTH_ENABLED "true" нет
env.OTEL_SDK_DISABLED нет "true" если нет otel-collector
global.url.redisUrl {svc: redis, port: 6379, scheme: redis, path: /1} нет Redis DB 1
global.url.natsUrl {svc: nats, port: 4222, scheme: nats} нет
global.url.modelManagementUrl {svc: model-mgmt, port: 8000} нет
global.url.scanProfilesUrl {svc: scan-profile, port: 8000} нет Обратите внимание: scanProfilesUrls)
global.url.resultsServiceUrl {svc: results, port: 8002} нет Порт 8002 (не 8000)
global.url.jailbreakServiceUrl {svc: jailbreak-api, port: 8000} нет
global.url.asrServiceUrl {svc: asr-api, port: 8000} нет
global.url.cvServiceUrl {svc: cv-api, port: 8000} нет
global.url.licenseServiceUrl {svc: license-service, port: 8000} нет

resultsServiceUrl: порт 8002

results-сервис слушает на порту 8002. При указании resultsServiceUrl используйте port: 8002, иначе orchestrator не сможет читать результаты.

Пример values.yaml

# values-orchestrator.yaml
image:
  name: registry.appsec.global/appsecgenai-release/orchestrator
  tag: "<VERSION>"

imagePullSecrets:
  - name: harbor-cr

secretEnv:
  DATABASE_URL: "postgresql+asyncpg://genai_admin:<password>@postgres:5432/genai_db"

env:
  ENVIRONMENT: "production"
  AUTH_ENABLED: "true"
  OTEL_SDK_DISABLED: "true"

global:
  url:
    redisUrl:            { svc: redis,            port: 6379, scheme: redis, path: /1 }
    natsUrl:             { svc: nats,             port: 4222, scheme: nats }
    modelManagementUrl:  { svc: model-mgmt,       port: 8000 }
    scanProfilesUrl:     { svc: scan-profile,     port: 8000 }
    resultsServiceUrl:   { svc: results,          port: 8002 }
    jailbreakServiceUrl: { svc: jailbreak-api,    port: 8000 }
    asrServiceUrl:       { svc: asr-api,          port: 8000 }
    cvServiceUrl:        { svc: cv-api,           port: 8000 }
    licenseServiceUrl:   { svc: license-service,  port: 8000 }

Установка

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