Soul Stack
Soul Stack — система управления конфигурациями инфраструктуры. Центральный сервер описывает желаемое состояние хостов декларативно, а агенты приводят хосты к этому состоянию. По задаче она из того же ряда, что традиционные инструменты — push-поверх-SSH и agent+master, — но построена вокруг нескольких принципов:
- Полноценная платформа, а не набор скриптов. Web-интерфейс, вход по LDAP/OIDC, RBAC, аудит-журнал, API и MCP-сервер, ротация сертификатов, интеграция с HashiCorp Vault — встроены в ядро. Обычно этот набор собирают из 5–7 отдельных инструментов.
- Безопасность — первой. Транспорт между сервером и агентами — gRPC поверх mTLS. Секреты маскируются на выходе и в логи в открытом виде не попадают.
- Типобезопасный шаблонизатор. Выражения в YAML — это CEL (Common Expression Language), рендер файлов — Go
text/templateсо строгим режимом. Никакого произвольного выполнения кода в шаблонах. - Два режима доставки. Pull (агент-демон сам подключается к серверу) и push (доставка по SSH на хост без агента) — одним и тем же набором модулей.
- Один исполняемый файл на Go на управляемом хосте. Агент
soul— статический исполняемый файл: не нужен Python, Ruby или интерпретатор. Меньше на хосте — меньше дрейфа и поверхности атаки.
С чего начать
Заголовок раздела «С чего начать»Словарь в двух строках
Заголовок раздела «Словарь в двух строках»Soul Stack использует «душевную» метафору в именах сущностей. Роли за ними — привычные для master/agent-систем:
| Soul Stack | Что это |
|---|---|
| Keeper | Центральный сервер. |
| Souls | Агенты на управляемых хостах. |
| Destiny | Желаемое состояние хоста. |
| Soulprint | Факты о системе хоста. |
| Essence | Параметры и секреты для хоста. |
Подробнее — в разделе Концепции.
Лицензия
Заголовок раздела «Лицензия»Ядро Soul Stack распространяется под Business Source License 1.1 (fair-code): исходники открыты, production-использование разрешено, кроме перепродажи Soul Stack третьим лицам как hosted/managed-сервиса; каждая версия автоматически становится Apache 2.0 через 2 года. SDK и плагины — Apache 2.0. Подробнее — Лицензирование.