Перейти к содержимому

Глоссарий

Краткий справочник терминов 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-ом не является. См. Концепции.
TraitsOperator-set метки инкарнации в форме ключ→значение: скаляр (namespace: dba-ns) или список (owners: [alice, bob]). Отдельная ось рядом с плоским Coven — организационные атрибуты (владелец, продукт, namespace), а не собираемый факт хоста. Источник истины — incarnation.traits, проецируется в souls.traits хостов-членов; в таргетинге — soulprint.self.traits.<ключ>.
ТерминЧто это
SIDSoul ID. Идентификатор агента, равен FQDN хоста — стабильный, человекочитаемый, даёт автодедуп при переустановке. См. Безопасность → Идентичность.
SoulSeedАртефакт mTLS-идентичности агента: пара «сертификат + приватный ключ». Выпускается Keeper-ом, регулярно ротируется; приватный ключ генерируется на хосте и никогда его не покидает. См. Безопасность → Идентичность.
Archon (Архонт)Оператор Soul Stack — человек или machine-identity. Первый выпускается командой keeper init, остальные — через Operator API с RBAC-проверкой. См. Операторы → Архонты.
AIDArchon ID. Идентификатор оператора — ASCII-строка по паттерну ^[a-z0-9][a-z0-9._@-]{1,127}$ (например archon-alice, alice@corp.com, uid-4815, ops-team). См. Операторы → Архонты.
Synod (Синод)Группа операторов, бандлящая набор ролей — упрощает раздачу одинакового доступа команде. Эффективные роли оператора = прямые ∪ роли через все его Synod. См. Операторы → Synod и Purview.
PurviewScope-границы видимости узлов для роли: какие Souls и инкарнации оператор видит и может трогать. Fail-closed: пустой Purview → пустой список. См. Операторы → Synod и Purview.
mTLSВзаимная TLS-аутентификация между агентом и Keeper-ом поверх gRPC bidirectional stream. Авторитет идентичности агента — peer-сертификат соединения. См. Безопасность → Транспорт.
ТерминЧто это
ServiceТип: git-репозиторий со сценариями, дефолтными параметрами (Essence) и схемой состояния. Версионируется git-ref-ом (тег или ветка). См. Концепции → Service и Incarnation.
IncarnationRuntime-инстанс сервиса: конкретное применение типа к набору хостов, со своим 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 → Два режима.
pushOneshot-применение без установленного агента: 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.