Установка из исходников
Сборка из Go-исходников — для разработки, контрибьюции, кастомных сборок и платформ без готовых артефактов. Если вам не нужна правка кода — используйте пакеты или бинарные релизы.
Требования
Заголовок раздела «Требования»| Инструмент | Зачем |
|---|---|
| Go 1.26+ | компиляция всех модулей (версия зафиксирована в go.work) |
make | таргеты сборки и проверок (make build / make test) |
git | клонирование репозитория |
Точная версия toolchain — в go.work корня репозитория (директива go). Если go version ниже — обновите Go, иначе сборка упадёт на toolchain-проверке.
Раскладка репозитория
Заголовок раздела «Раскладка репозитория»Код организован как Go-workspace (go.work) из нескольких модулей. Исполняемые файлы собираются из:
keeper/cmd/keeper→keepersoul/cmd/soul→soulsoulctl/cmd/soulctl→soulctlsoul-lint/cmd/soul-lint→soul-lint
Остальные модули (proto, proto/plugin, shared, sdk) — это поперечный код и контракты, которые тянут исполняемые файлы; отдельных артефактов они не дают.
Клонировать и собрать все исполняемые файлы одной командой:
git clone <repo-url> soul-stackcd soul-stackmake buildРезультат — исполняемые файлы в bin-каталогах модулей: keeper/bin/keeper, soul/bin/soul, soulctl/bin/soulctl, soul-lint/bin/soul-lint. Версия инжектится линкером при сборке (make build), поэтому keeper version печатает реальную версию, а не 0.0.0-dev.
Проверить версию сборки:
./keeper/bin/keeper version./soul/bin/soul version./soulctl/bin/soulctl --versionmake test # unit-тесты по всем модулямПолный локальный гейт (форматирование, vet, сборка, тесты, проверка сгенерированного кода и ссылок) — make check.
Сборка deb/rpm-пакетов
Заголовок раздела «Сборка deb/rpm-пакетов»Если нужны пакеты под свою раздачу — make pkg собирает deb + rpm для keeper / soul / soul-lint (требует установленного nfpm). soulctl пакетом не упаковывается — он распространяется исполняемым файлом.
Дальше — рантайм
Заголовок раздела «Дальше — рантайм»Собранные исполняемые файлы требуют той же внешней инфраструктуры, что и пакетная установка: обязательный контур — PostgreSQL + Redis + Vault (все три; Keeper проверяет каждый на старте и не стартует без любого из них). Провижининг, конфиги, bootstrap первого оператора и онбординг агента — Из deb/rpm-пакетов, начиная с шага 2.
Для быстрого локального знакомства без прод-провижининга — Quick Start.