Краткий справочник терминов Soul Stack — одна-две строки на термин со ссылкой на раздел, где он раскрыт подробнее. Полная ментальная модель — в Концепциях.
Soul Stack использует «душевную» метафору. Роли за именами — привычные для master/agent-систем; в самой системе и документации используются только наши термины.
| Термин | Что это |
|---|
| Keeper | Центральный сервер: хранит реестры и каталог сервисов, рендерит и доставляет Destiny, ведёт аудит. Масштабируется горизонтально поверх общих PostgreSQL и Redis. См. Keeper. |
| Soul / Souls (Soul, «душа») | Агент на управляемом хосте — один исполняемый файл на Go soul. Применяет Destiny, работает в pull и push режимах. См. Soul. |
| Destiny | Декларативное описание желаемого состояния хоста — набор идемпотентных шагов core.<module>.<state>. См. DSL → Destiny. |
| Soulprint (Принты) | Типизированные факты о хосте (ОС, ядро, CPU, память, сеть), собираемые агентом. В выражениях — soulprint.self.<путь>. См. Soul → Soulprint. |
| Essence | Параметры и секреты, привязанные к хосту или группе. Секреты резолвятся через Vault на стороне Keeper-а и маскируются на выходе. См. DSL → Essence. |
| Coven | Стабильный логический тег группы агентов (кластер, проект, окружение, ЦОД). Опора таргетинга, RBAC и маршрутизации. Волатильная роль хоста Coven-ом не является. См. Концепции. |
| Traits | Operator-set метки инкарнации в форме ключ→значение: скаляр (namespace: dba-ns) или список (owners: [alice, bob]). Отдельная ось рядом с плоским Coven — организационные атрибуты (владелец, продукт, namespace), а не собираемый факт хоста. Источник истины — incarnation.traits, проецируется в souls.traits хостов-членов; в таргетинге — soulprint.self.traits.<ключ>. |
| Термин | Что это |
|---|
| SID | Soul ID. Идентификатор агента, равен FQDN хоста — стабильный, человекочитаемый, даёт автодедуп при переустановке. См. Безопасность → Идентичность. |
| SoulSeed | Артефакт mTLS-идентичности агента: пара «сертификат + приватный ключ». Выпускается Keeper-ом, регулярно ротируется; приватный ключ генерируется на хосте и никогда его не покидает. См. Безопасность → Идентичность. |
| Archon (Архонт) | Оператор Soul Stack — человек или machine-identity. Первый выпускается командой keeper init, остальные — через Operator API с RBAC-проверкой. См. Операторы → Архонты. |
| AID | Archon ID. Идентификатор оператора — ASCII-строка по паттерну ^[a-z0-9][a-z0-9._@-]{1,127}$ (например archon-alice, alice@corp.com, uid-4815, ops-team). См. Операторы → Архонты. |
| Synod (Синод) | Группа операторов, бандлящая набор ролей — упрощает раздачу одинакового доступа команде. Эффективные роли оператора = прямые ∪ роли через все его Synod. См. Операторы → Synod и Purview. |
| Purview | Scope-границы видимости узлов для роли: какие Souls и инкарнации оператор видит и может трогать. Fail-closed: пустой Purview → пустой список. См. Операторы → Synod и Purview. |
| mTLS | Взаимная TLS-аутентификация между агентом и Keeper-ом поверх gRPC bidirectional stream. Авторитет идентичности агента — peer-сертификат соединения. См. Безопасность → Транспорт. |
| Термин | Что это |
|---|
| Service | Тип: git-репозиторий со сценариями, дефолтными параметрами (Essence) и схемой состояния. Версионируется git-ref-ом (тег или ветка). См. Концепции → Service и Incarnation. |
| Incarnation | Runtime-инстанс сервиса: конкретное применение типа к набору хостов, со своим spec (что заказано), state (что достигнуто) и status в PostgreSQL. См. Концепции → Service и Incarnation. |
| scenario | Операция над состоянием инкарнации (create / add_user / restart / …): полный набор задач Destiny плюс оркестрация (on: / where: / serial: / apply:). Граница scenario↔destiny — рекомендация. См. DSL → Scenario. |
| Voyage | Унифицированный батчевый прогон: применить сценарий к набору инкарнаций (kind: scenario) либо выполнить модуль на наборе хостов (kind: command). Параметры батчей, concurrency, отложенный старт, поведение при сбое. См. Руководства → Оркестрация. |
| Cadence | Расписание, по времени спавнящее обычный Voyage: interval или cron, политика наложения (skip / queue / parallel). Переживает прогоны как отдельная сущность. См. Конфигурация → keeper.yml. |
| core-модуль | Встроенный шаг Destiny формата core.<module>.<state> (например core.pkg.installed). Soul-side применяются на хосте, Keeper-side — на сервере. Каталог — Модули. |
| state_schema / миграция | Структура incarnation.state версионируется полем state_schema_version. При смене формы состояния автор сервиса описывает миграцию — чистую функцию «старое состояние → новое», выполняемую на стороне Keeper-а. См. DSL → Миграции состояния. |
| Термин | Что это |
|---|
| pull | Режим агента-демона: soul сам инициирует долгоживущее соединение к Keeper-у поверх mTLS и ждёт заданий. См. Soul → Два режима. |
| push | Oneshot-применение без установленного агента: Keeper доставляет Destiny по SSH на хост (модуль keeper.push). Тот же набор модулей, что и в pull. См. Soul → Два режима. |
| Reaper (Жнец) | Фоновая задача Keeper-а: чистит реестр от мусора (просроченные онбординг-записи, зомби-записи, старые seed-ы, старый аудит). Один исполнитель в кластере, лидер выбирается через Redis-lease. См. Конфигурация → keeper.yml. |
| Operator API | Первичный интерфейс оператора — OpenAPI поверх HTTP (плюс встроенный MCP). CLI soulctl — тонкая обёртка над ним. Спецификация открыта на маршруте /docs, корень API — /v1. См. Компоненты → soulctl. |