> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qudata.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Агент хостера

> Функции, внутренняя архитектура и правила эксплуатации агента qudata.ai.

## Роль агента qudata

Агент qudata — привилегированный сервис на стороне хостера. Он получает задания от оркестратора, кэширует доверенные образы, запускает micro vm и проводит аппаратную аттестацию окружения. Его задача — минимизировать доверие к хосту, делегируя контроль безопасности аппаратным механизмам и проверенным компонентам.

Основные обязанности:

* Приём политик и задач по mTLS, валидация сообщений.
* Кэширование immutable-образов и проверка их подписи.
* Подготовка и запуск micro vm/cvm, управление RW-оверлеями и LUKS-томами.
* Формирование `TPM quote`, сбор телеметрии и отчётности.
* Мониторинг системных вызовов, применение eBPF-фильтров и политик ограничения.
* Управление GPU/CPU ресурсами, режимами GPU (MIG, persistence, compute-only).

## Архитектура и ключевые компоненты

### Приём заданий (Receiver)

* Постоянное mTLS-соединение с оркестратором.
* Проверка схем сообщений и цифровых подписей.
* Очередь задач с приоритетами и автоматическим повтором.

### Менеджер образов (Image Cache / Verifier)

* Локальное хранилище подписанных immutable-образов.
* Проверка подписи и хэшей каждого слоя перед запуском.
* Управление read-only root и изолированными RW-оверлеями.

### Пайплайн запуска micro vm

1. Получение задания и политики безопасности (ожидаемые PCR, версии драйверов, режимы GPU).
2. Подбор подходящего профиля оборудования (CPU, GPU, NUMA, hugepages).
3. Генерация временных ключей, подготовка RW-оверлея и шифрованного тома.
4. Запуск micro vm через минимальный гипервизор.
5. Настройка сети (VPN/tap), ограничение доступа к устройствам.
6. Взаимодействие с TPM, получение `quote`, ожидание подтверждения от клиента/сервера.
7. Передача зашифрованного DEK и монтирование зашифрованных томов внутри инстанса.

### Безопасность времени выполнения (Runtime Security)

* SecurityMonitor отслеживает системные вызовы и сетевые паттерны.
* eBPF-слой собирает телеметрию и фильтрует подозрительные действия.
* Seccomp, cgroups и AppArmor/SELinux профили ограничивают доступ.
* Watchdog завершает micro vm при попытках обхода ограничений.

### Управление вычислительными ресурсами

* Инициализация и проверка версий GPU-драйверов.
* Настройка режимов GPU, проверка целостности прошивок.
* Учёт использования GPU/CPU и отправка метрик в биллинг.

### Телеметрия и логирование

* Сбор здоровья узла, загрузки, ошибок и событий безопасности.
* Шифрование логов и отправка по mTLS с возможностью агрегирования.
* Локальная ротация журналов с опцией хранения только хэшей.

### Обновления и конфигурация

* Rolling-обновления с цифровой подписью и возможностью отката.
* Централизованное управление конфигурацией и feature flags.
* Изоляция высокопривилегированных компонентов.

### Компонент очистки (Garbage Collector)

* Удаление устаревших образов, освобождение квот GPU/CPU.
* Безопасное уничтожение временных ключей и очищение дисков.

## Защита агента

* Минимизация привилегий и изоляция критичных модулей.
* Подпись бинарей и проверка целостности на каждом запуске.
* Привязка конфигурации к TPM (Measured Boot).
* Сетевые политики: вход только по доверенным сертификатам, исходящий трафик через VPN/прокси.
* Секреты хранятся в TPM или оперативной памяти и уничтожаются после использования.
* Контроль целостности конфигураций и бинарей через подписанные манифесты.

## Правила эксплуатации

* Устанавливайте агент только из подписанных пакетов.
* Конфигурация берётся из централизованного хранилища; локальные изменения ограничены политикой.
* Агент обязан отправлять heartbeat и критические события; отсутствие heartbeat переводит узел в статус «недоступен».
* Rolling-обновления обязательны; ручной откат допускается только с подписанным manifest.
* Ключи DEK генерируются и хранятся исключительно в памяти, TPM используется для envelope encryption.
* При потере связи агент приостанавливает новые задания и завершает конфиденциальные инстансы согласно политике.

Соблюдение этих требований гарантирует, что узел останется доверенным и будет стабильно получать задания из маркетплейса qudata.ai.
