Schema-first
Каталог модулей
Модуль — единица работы, которую применяет один шаг Destiny. Core-модули включены в исполняемые файлы: отдельная установка не нужна, версия модуля = версия сборки. Кастомные подключаются как процессы-плагины по gRPC.
Форма имени
Шаг адресует модуль и состояние как core.<module>.<state>. state — желаемое состояние (installed / present / running) либо verb (run / probe / fetched). Каждый declarative-state идемпотентен: итог шага — changed=true или changed=false.
Живые контракты
У каждого модуля — строгая схема параметров. Валидатор ловит опечатки и типы до применения, а не на хосте.
| name | string · required | имя пакета |
| version | string | конкретная версия (иначе — любая) |
| state | enum | installed · absent · latest |
| path | string · required | путь на хосте |
| template | string · required | шаблон (text/template, strict) |
| vars | map | значения из Essence |
| mode / owner / group | string | права и владелец |
Soul-side — на управляемом хосте
Пакеты и репозитории
core.pkg
Пакеты OS через native pkg-mgr (apt / dnf / yum / apk).
installed · absent · latest
core.repo
Пакетный репозиторий OS (с GPG-ключом для apt).
present · absent
Файлы
core.file
Файл из содержимого или шаблона, каталог, удаление.
present · absent · rendered · directory
core.line
In-place построчная правка файла (lineinfile).
present · absent
core.archive
Распаковка архивов (tar / tar.gz / zip).
extracted
Сервисы и процессы
core.service
Сервис OS через systemd / openrc / sysv.
running · stopped · restarted · enabled
core.exec
Команда напрямую через exec() — без shell.
run
core.cmd
Shell-строка через sh -c (pipes, redirects).
shell
core.cron
Cron-задачи через /etc/cron.d/.
present · absent
Пользователи и группы
core.user
Локальные пользователи OS.
present · absent
core.group
Локальные группы OS.
present · absent
Система
core.mount
Точки монтирования и /etc/fstab.
present · mounted · unmounted
core.sysctl
Kernel-параметры (vm.* / kernel.* / net.*).
present · applied
core.firewall
Одно правило файрвола (ufw / firewalld).
present · absent
Сеть и внешние данные
core.git
Клонирование и обновление git-репозитория.
cloned · pulled
core.url
Загрузка файла по URL (checksum-верификация).
fetched
core.http
Read-probe HTTP (health-check / readiness).
probe
core.augur
Read-probe живого доступа к внешней системе.
fetch
Утилита
core.noop
Barrier-якорь: ничего не делает, всегда успех.
run
Keeper-side — на стороне сервера
Диспетчер on: keeper. Работают с реестрами, облаком и Vault, а не с файловой системой хоста.
core.soul
Привязка хоста (SID) к coven-меткам реестра.
registered
core.cloud
Создание / удаление / расширение cloud-инстансов.
created · destroyed · resized
core.choir
Членство хоста в choir-е инкарнации.
present · absent
core.vault
Чтение секрета из Vault KV с audit-event-ом.
read
Безопасные дефолты
- core.url / core.http — только https:// и SSRF-guard по умолчанию; послабления — явными флагами с обязательным warning.
- core.url — checksum-верификация до появления файла в целевом пути.
- core.repo — gpg_check включён; http://-зеркало даёт warning.
- core.firewall — никогда не трогает default policy и не включает файрвол целиком.
- core.archive — защита от zip-slip / zip-bomb, маскировка setuid/setgid.