AI-Ops Documentation

Русский English
  • Главная
  • Карта документации
0. С чего начать
  • Что это за продукт
  • Для кого он
  • Как устроена документация
  • Быстрые ссылки
  • Как начать разработку
  • Как найти нужный сервис
  • К кому идти по вопросам
1. Продукт
Обзор продукта
  • Миссия продукта
  • Ценность для бизнеса
  • Основные сценарии
  • Границы системы
Пользователи и персоны
  • Сегменты пользователей
  • Роли пользователей
  • Основные потребности
Пользовательские сценарии
  • Регистрация / логин
  • Основной пользовательский сценарий
  • Оплата / заказ / действие
  • Поддержка и сценарий восстановления
Функции продукта
Фича: Аутентификация
  • Цель
  • Пользовательская история
  • Бизнес-правила
  • Ограничения
  • Метрики успеха
  • Связанные сервисы
  • Связанные события / данные
  • Фича: Профиль
  • Фича: Организации
  • Фича: Топология
  • Фича: Вычислительные ресурсы
  • Фича: Кластеры
  • Фича: Каталог сервисов
Требования
  • Функциональные требования
  • Нефункциональные требования
  • Требования к производительности
  • Требования к безопасности
  • Конфиденциальность и соответствие
  • Доступность
Метрики
  • Ключевая метрика (North Star)
  • Продуктовые KPI
  • Метрики воронки
  • Метрики качества
  • Метрики экспериментов
2. Домены
Домен: Identity
  • Назначение
  • Основные концепции
  • Сущности
  • Бизнес-правила
  • Сервисы домена
  • Данные домена
  • Связанные фичи
  • Домен: Профиль пользователя
  • Домен: Поиск
  • Домен: Заказы / транзакции
  • Домен: Уведомления
  • Домен: Аналитика
  • Домен: Рекомендации
3. Архитектура
Обзор системы
  • Что входит в систему
  • Что не входит
  • Высокоуровневая диаграмма
C4 Model
  • Контекстная диаграмма
  • Диаграмма контейнеров
  • Диаграмма компонентов
  • Диаграмма развёртывания
Интеграционная архитектура
  • Внешние системы
  • Интеграции API
  • Webhooks
  • Сторонние провайдеры
Потоки данных
  • Онлайн-поток данных
  • Пакетный поток данных
  • Поток событий
  • Владение данными
Архитектура безопасности
  • Аутентификация
  • Авторизация
  • Управление секретами
  • Шифрование
  • Аудит и логирование
Надежность и масштабируемость
  • SLA / SLO
  • Планирование мощностей
  • Отказоустойчивость
  • Обратное давление и повторы
  • Восстановление после сбоев
Архитектурные принципы
  • Границы доменов
  • Принципы проектирования API
  • Принципы проектирования событий
  • Принципы контрактов данных
  • Диаграмма: auth микросервисы
Control plane
  • Архитектура компонентов (control plane)
  • Доменная модель v0
  • Протокол v0 (control plane)
  • Примеры (control plane)
Сервисы (control plane)
Сервис control plane
  • API
  • Модель данных
  • События
  • Модули
  • Операции
Сервис execution plane
  • API
  • Модель данных
  • События
  • Модули
  • Операции
Сервис resource catalog
  • API
  • Модель данных
  • События
  • Модули
  • Операции
4. Инженерия
Сервисы
Каталог сервисов
  • Все сервисы списком
  • Владельцы
  • Критичность
  • Уровень / домен / статус
  • Сервис аутентификации
  • Сервис аккаунтов
  • Облачный сервис
  • Сервис учётных данных
  • Herald
  • Сервис идентификации
  • API Gateway
  • Сервис токенов
Фронтенд
  • Обзор фронтенда
  • Структура приложения
  • Routing (фронтенд)
  • State management (фронтенд)
  • Design system (фронтенд)
  • UI components (фронтенд)
  • API контракты фронтенда
  • Обработка ошибок (фронтенд)
  • Performance (фронтенд)
  • Feature flags (фронтенд)
  • Тестирование фронтенда
Бэкенд
  • Обзор бэкенда
  • Паттерны сервисов
  • Рекомендации по API
  • Событийные паттерны
  • Паттерны доступа к БД
  • Кэширование
  • Асинхронные задачи и воркеры
  • Идемпотентность
  • Обработка ошибок
  • Тестирование бэкенда
Данные
  • Обзор данных
  • Системы-источники
  • Контракты данных
  • Каталог схем событий
  • Хранилище данных
  • Витрины данных
  • ETL / ELT-пайплайны
  • Качество данных
  • Происхождение данных
  • Политики хранения
  • Политики доступа
ML / DS
  • Обзор ML/DS
  • Сценарии (ML)
  • Каталог моделей
  • Feature store
  • Training pipelines
  • Inference pipelines
  • Offline evaluation
  • Online evaluation / A-B
  • Мониторинг (ML)
  • ML runbooks
QA / Качество
  • Стратегия качества
  • Пирамида тестов
  • Тестовые окружения
  • Тестовые данные
  • Ручное тестирование
  • Автоматизированное тестирование
  • Нагрузочное тестирование
  • Тестирование безопасности
  • Критерии приёмки релиза
  • Процесс разбора багов
5. Платформа
Инфраструктура
  • Ansible
  • WireGuard
  • Kubernetes
  • Longhorn
  • Ingress
  • PostgreSQL Cluster
  • Redis
  • Kafka
  • Vault
  • MinIO
  • Authentik
  • Monitoring
  • Logging
  • Tracing
  • Nexus
  • SonarQube
  • GlitchTip
  • GitLab Runner
  • Kubernetes Dashboard
  • OLM
  • Deploy
  • Internal DNS
  • Обзор (инфраструктура)
  • Config generator
  • Пример (инфраструктура)
  • Скрипты (инфраструктура)
Окружения
  • Локальное
  • Stage
  • Pre
  • Продакшен (prod)
  • Tech
  • Облако
  • Объектное хранилище
  • CI/CD
  • Секреты и сертификаты
Наблюдаемость
  • Логирование
  • Метрики
  • Трейсинг
  • Алертинг
  • Резервное копирование и восстановление
6. Разработка
  • Быстрый старт
  • Локальная настройка
  • Карта репозиториев
  • Стандарты кода
  • Git-процесс
  • Стратегия ветвления
  • Руководство по код-ревью
  • Критерии готовности
  • Процесс релиза
  • Флаги фич
  • FAQ разработчика
  • Миграция secure auth
7. Эксплуатация
  • Дежурство
  • Управление инцидентами
  • Уровни критичности
  • Политика эскалации
  • Постмортемы
  • Ранбуки
  • Управление изменениями
  • Непрерывность бизнеса
8. Аналитика
  • План трекинга событий
  • Определения KPI
  • Каталог дашбордов
  • Словарь метрик
  • Эксперименты
  • Стандарты отчётности
9. Управление
  • Решения (ADR)
  • Политика статуса контента
  • Changelog обновлений документации
Безопасность и соответствие
  • Модель угроз
  • Безопасная разработка
  • Управление доступом
  • Конфиденциальность
  • Реагирование на инциденты
Ответственность и владельцы
  • Команды
  • Зоны ответственности команд
  • Владельцы сервисов
  • Владельцы доменов
  • Контакты
Глоссарий
  • Бизнес-термины
  • Продуктовые термины
  • Технические термины
  • Сокращения

События

Previous Next

События сервиса нужны для projections, audit, troubleshooting и синхронизации с control-plane-service. Kafka используется как event transport, но не как источник истины: authoritative state хранится в PostgreSQL execution-plane-service.

Event Envelope

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
event:
  id: uuid
  type: execution.attempt.started
  version: 1
  occurred_at: "2026-04-29T10:01:00Z"
  producer: execution-plane-service
  correlation_id: op-123
  causation_id: exec-attempt-123
  tenant_id: tenant-1
  project_id: project-1
  payload: {}

Правила:

  • event.id уникален глобально.
  • correlation_id обычно равен operation_id.
  • causation_id равен attempt_id или команде, которая вызвала событие.
  • Payload не содержит secret values.
  • Публикация выполняется через outbox pattern из той же БД.

Published Events

execution.attempt.queued

Attempt создан и ожидает runner.

1
2
3
4
5
6
7
8
payload:
  attempt_id: exec-attempt-123
  operation_id: op-123
  plan_id: plan-123
  plan_node_id: install-runtime
  node_run_id: node-run-456
  job_type: ansible.playbook.run
  runner_kind: ansible

execution.attempt.leased

Runner получил lease.

1
2
3
4
5
payload:
  attempt_id: exec-attempt-123
  runner_instance_id: ansible-runner-7
  runner_kind: ansible
  lease_expires_at: "2026-04-29T10:10:00Z"

execution.attempt.started

Runner начал выполнение.

1
2
3
4
payload:
  attempt_id: exec-attempt-123
  runner_instance_id: ansible-runner-7
  started_at: "2026-04-29T10:01:00Z"

execution.attempt.progressed

Heartbeat/progress snapshot.

1
2
3
4
5
payload:
  attempt_id: exec-attempt-123
  phase: executing
  progress_percent: 42
  message: installing container runtime

Не каждый heartbeat обязан становиться Kafka event. Сервис может публиковать sampled progress events, а полную heartbeat history хранить в БД.

artifact.created

Создан artifact или log bundle.

1
2
3
4
5
6
7
8
payload:
  artifact_ref:
    id: artifact-123
    uri: s3://aiops-artifacts/executions/exec-attempt-123/logs.tar.zst
    digest: sha256:abc
    content_type: application/zstd
  attempt_id: exec-attempt-123
  artifact_kind: log_bundle

execution.attempt.succeeded

Техническое выполнение завершилось успешно.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
payload:
  attempt_id: exec-attempt-123
  operation_id: op-123
  plan_node_id: install-runtime
  node_run_id: node-run-456
  output_refs:
    - artifact://outputs/exec-attempt-123/recap.json
  evidence_refs:
    - evidence://exec-attempt-123/containerd-active
  finished_at: "2026-04-29T10:20:00Z"

Это не означает automatic business success всей операции.

execution.attempt.failed

Техническое выполнение завершилось ошибкой.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
payload:
  attempt_id: exec-attempt-123
  operation_id: op-123
  plan_node_id: install-runtime
  node_run_id: node-run-456
  failure_category: command_failed
  exit_code: 2
  log_refs:
    - artifact://logs/exec-attempt-123/bundle.tar.zst
  finished_at: "2026-04-29T10:20:00Z"

execution.attempt.cancelled

Attempt остановлен по запросу.

1
2
3
4
5
payload:
  attempt_id: exec-attempt-123
  cancellation_reason: user_cancelled_operation
  partial_artifact_refs:
    - artifact://logs/exec-attempt-123/partial.tar.zst

execution.attempt.timed_out

Attempt превысил timeout.

1
2
3
4
payload:
  attempt_id: exec-attempt-123
  timeout_seconds: 1800
  last_phase: executing

execution.attempt.heartbeat_lost

Runner перестал отправлять heartbeat.

1
2
3
4
payload:
  attempt_id: exec-attempt-123
  runner_instance_id: ansible-runner-7
  last_heartbeat_at: "2026-04-29T10:05:00Z"

Consumed Commands / Events

Основной command path идет через internal API, но сервис может потреблять control events:

  • operation.cancel_requested - запросить cancellation для связанных attempts;
  • runner.drain_requested - перестать выдавать новые leases конкретному runner pool;
  • artifact.retention_policy.changed - пересчитать retention для bundles.

Эти events не заменяют API для запуска jobs.

Ordering

  • Для одного attempt_id events публикуются в порядке attempt_events.created_at.
  • Для разных attempts глобальный порядок не гарантируется.
  • Consumers должны быть idempotent.

Delivery

  • Outbox row создается в той же транзакции, что и state change.
  • Event worker публикует row в Kafka.
  • После publish фиксируется delivery status.
  • Re-publish допускается, consumers дедуплицируют по event.id.

Consumers

Основные consumers:

  • control-plane-service.event-worker - связывает attempt events с operation/node timeline;
  • audit integration - future extension point;
  • observability pipeline - metrics/traces/log index;
  • billing integration - future extension point для resource usage accounting.

Security

  • События не содержат secret values.
  • URI артефактов должны быть refs, а не signed download URLs.
  • Ошибки проходят redaction.
  • Payload ограничен metadata; большие outputs лежат в S3/MinIO.
Модель данных Модули
Меню
Главная Карта документации
0. С чего начать
С чего начать Что это за продукт Для кого он Как устроена документация Быстрые ссылки Как начать разработку Как найти нужный сервис К кому идти по вопросам
1. Продукт
Продукт
2. Домены
Домены Домен: Профиль пользователя Домен: Поиск Домен: Заказы / транзакции Домен: Уведомления Домен: Аналитика Домен: Рекомендации
3. Архитектура
Архитектура Диаграмма: auth микросервисы
4. Инженерия
Инженерия
5. Платформа
Платформа Облако Объектное хранилище CI/CD Секреты и сертификаты Резервное копирование и восстановление
6. Разработка
Разработка Быстрый старт Локальная настройка Карта репозиториев Стандарты кода Git-процесс Стратегия ветвления Руководство по код-ревью Критерии готовности Процесс релиза Флаги фич FAQ разработчика Миграция secure auth
7. Эксплуатация
Эксплуатация Дежурство Управление инцидентами Уровни критичности Политика эскалации Постмортемы Ранбуки Управление изменениями Непрерывность бизнеса
8. Аналитика
Аналитика План трекинга событий Определения KPI Каталог дашбордов Словарь метрик Эксперименты Стандарты отчётности
9. Управление
Управление Решения (ADR) Политика статуса контента Changelog обновлений документации

На странице

Event Envelope Published Events execution.attempt.queued execution.attempt.leased execution.attempt.started execution.attempt.progressed artifact.created execution.attempt.succeeded execution.attempt.failed execution.attempt.cancelled execution.attempt.timed_out execution.attempt.heartbeat_lost Consumed Commands / Events Ordering Delivery Consumers Security