srekit¶
srekit — это CLI для генерации текстовых артефактов, с которыми SRE работают каждый день: investigation log'ов, постмортемов, runbook'ов, RFC, отчётов дежурного, SLO, политик бюджета ошибок и changelog'ов.
Шаблон здесь — не Markdown-файл. Это v1 YAML-артефакт (postmortem.yaml, slo.yaml, …), который декларирует frontmatter, H1, meta-буллеты и список типизированных секций; Markdown srekit собирает уже из этой декларации. Комплект, который идёт в поставке, вкомпилирован в бинарник — свежая установка рендерит всё без файлов на диске и без сети. Директория с твоими собственными артефактами, лежащая под твоим git-remote'ом, переопределяет его пофайлово: то, что ты не переопределил, прозрачно берётся из встроенного набора.
Зачем srekit¶
SRE-работа порождает массу структурированных документов, которые на 80 % читаются одинаково и различаются только в 20 % сути. Писать их с нуля — терять время и стабильно забывать секции, которые потом хотелось бы иметь. Генератор с готовыми шаблонами, прошедшими ревью, убирает шаблонщину и оставляет внимание на сам инцидент, RFC или постмортем.
Что внутри¶
- 8 команд-генераторов —
task,postmortem,rfc,runbook,changelog,oncall-report,slo,ebp. - Шаблоны как контракт — каждый артефакт билингвальный (русские заголовки + английские технические термины), вкомпилирован в бинарник и переопределяется кастомной директорией под твоим git-remote'ом.
- Не только скаффолд changelog'а —
changelog releaseвырезает версию из[Unreleased],changelog validateлинтит существующийCHANGELOG.mdпротив Keep a Changelog. - Полный жизненный цикл шаблонов —
templates init / pull / list / validate / diff / upgrade / migrate, с настоящим 3-way merge на upgrade. - JSON-вывод — каждый генератор поддерживает
--jsonдля пайплайнов вjqи другие тулзы. - Диагностика окружения на чтение —
srekit doctorпоказывает, какой конфиг читается на самом деле, куда резолвится templates dir и парсятся ли ещё твои артефакты. - Детерминирован — никаких сетевых вызовов вообще, никакого скрытого состояния. Автор / email / репо резолвятся из локального конфига и
git.
Как выглядит¶
# Сгенерить постмортем с сегодняшней датой и автором из git
srekit postmortem --title "API outage" --severity SEV-1 \
--start 2026-05-06T08:00Z --end 2026-05-06T09:30Z \
--owner "@oncall" --out postmortem-2026-05-06.md
# Пайп генератора в jq для скриптов
srekit task --title "Tail latency on api-gw" --json | jq -r '.meta.id'
# Управление кастомными шаблонами
srekit templates init # сделать свою копию
srekit templates list # посмотреть что переопределено
srekit templates upgrade # 3-way merge новых встроенных изменений
Дальше¶
- Старт — установка, первая команда, первый конфиг.
- Обзор команд — полная поверхность CLI.
- Кастомные шаблоны — храни свои шаблоны под git и забирай upstream-изменения через 3-way merge.
- jtprogru/sre-templates — готовый репозиторий шаблонов ровно в той раскладке, которую ждёт srekit; склонируй его, нацель srekit на него или форкни как отправную точку.
- Рецепты — практические пайплайны (jq, on-call ротация, CI).