runbooks: индекс ранбуков + admin-runbooks контур в AGENTS.md (скил ~/.agents/skills/admin-runbooks, поглощает writing-runbooks)
This commit is contained in:
54
.wiki/concepts/runbooks-index.md
Normal file
54
.wiki/concepts/runbooks-index.md
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Ранбуки — индекс (что есть, где лежит, что покрывает)"
|
||||
type: concept
|
||||
tags: [runbook, index, ops, deploy, admin]
|
||||
related: [concepts/portainer-stack-management-vds.md]
|
||||
updated: 2026-08-26
|
||||
---
|
||||
|
||||
# Индекс ранбуков зоны админа
|
||||
|
||||
> **⚙️ СЛУЖЕБНЫЙ РАНБУК — только для администратора проекта `.admin`.**
|
||||
> Применять/выполнять шаги может только **`.admin`** (оператор проекта admin). Другим проектам/агентам — читать по запросу, не выполнять.
|
||||
> Из проекта не выносить: не копировать в другие вики, не пересказывать, не публиковать.
|
||||
> Нужен деплой или прод-операция по этому ранбуку — **поставить задачу админу (`.admin`) и написать письмо**. Админ выполняет, остальные верифицируют.
|
||||
|
||||
Единый источник «какой ранбук для чего». **Обязательный первый шаг перед любой
|
||||
прод-операцией** (деплой/редеплой/рестарт/ротация/миграция/инцидент) — скил
|
||||
`admin-runbooks` §0. Если строки для проекта нет — ранбука не существует:
|
||||
создать (см. `admin-runbooks` §WRITE) до/вместе с операцией.
|
||||
|
||||
## VDS-проекты (`.admin/.wiki/concepts/`)
|
||||
|
||||
| Проект / операция | Ранбук | Что покрывает |
|
||||
|---|---|---|
|
||||
| pilorama98.ru (pilonuxt, стек 16) | [`pilorama98-vds-deploy-runbook.md`](pilorama98-vds-deploy-runbook.md) | рестарт (кэш viewModel) vs пересборка; build с workstation (VERDACCIO secret); PUT стек 16; verify; rollback; инвентарь образов |
|
||||
| pilorama98.ru — диагностика кэша vs кода | [`pilonuxt-restart-vs-redeploy-2026-08-16.md`](pilonuxt-restart-vs-redeploy-2026-08-16.md) | когда рестарт, когда пересборка; симптом 500 @snolla/core; инвентарь образов |
|
||||
| stostayer.ru (legacy web, стек клиента) | [`stostayer-web-deploy-runbook.md`](stostayer-web-deploy-runbook.md) | build 0.3.x (offline-кэш, временные .dockerignore/.yarnrc); push 1 попыткой (egress-бан); redeploy через Portainer на хосте клиента; verify |
|
||||
| mappa (стек 27) | [`mappa-vds-deploy-runbook.md`](mappa-vds-deploy-runbook.md) | build+push; pull-ДО-рестарта; compose sync; PUT стек 27 env 3/3; verify; gotcha env-сброс |
|
||||
| emspb.ru (snolla-app, стек 18) | [`emspb-vds-deploy-runbook.md`](emspb-vds-deploy-runbook.md) | build на VDS (git archive); env-контракт 8 секретов; cutover |
|
||||
| labtools.ru (стек 19) | [`labtools-vds-deploy-runbook.md`](labtools-vds-deploy-runbook.md) | то же семейство snolla-app |
|
||||
| labtools.pro (стек 20) | [`labtools.pro-vds-deploy-runbook.md`](labtools.pro-vds-deploy-runbook.md) | то же семейство snolla-app |
|
||||
| on.snolla.com (стек 22) | [`on-snolla-vds-deploy-runbook.md`](on-snolla-vds-deploy-runbook.md) | cutover 2026-07-20, семейство snolla-app |
|
||||
| tandemmebel.ru (стек 20/иное) | [`tandemmebel-vds-deploy-runbook.md`](tandemmebel-vds-deploy-runbook.md) | cutover + snolla bumps |
|
||||
| maljarka.tandemmebel.ru | [`maljarka-vds-deploy-runbook.md`](maljarka-vds-deploy-runbook.md) | restore-деплой 2026-07-31 |
|
||||
| oCIS / owncloud | [`ocis-on-vds-deploy-recipe.md`](ocis-on-vds-deploy-recipe.md) | deploy recipe + gotchas |
|
||||
|
||||
## Инфраструктурные ранбуки
|
||||
|
||||
| Операция | Ранбук | Что покрывает |
|
||||
|---|---|---|
|
||||
| MinIO split (books-vds + CMS-media) | [`minio-split-cutover-runbook.md`](minio-split-cutover-runbook.md) | cutover Track A/B, rollback |
|
||||
| Общий Portainer-канон VDS kzntsv | [`portainer-stack-management-vds.md`](portainer-stack-management-vds.md) | JWT auth, gotchas 1-10, redeploy-рецепт, инвентарь стеков |
|
||||
| Политика деплоя mappa | [`deploy-policy-mappa.md`](deploy-policy-mappa.md) | кто деплоит, канон таска+письмо |
|
||||
|
||||
## Репо-вики проектов (второй источник, если не в .admin)
|
||||
|
||||
- pilorama98.ru: `apps/web/.wiki/concepts/docker-deploy.md` — сборка образа, деплой.
|
||||
- snolla: `concepts/` — сборка snolla-пакетов (не деплой сайтов).
|
||||
|
||||
## Ведение индекса
|
||||
|
||||
- Новая строка при создании ранбука (WRITE) или при изменении покрытия.
|
||||
- Актуализировать при UPDATE ранбука (тег/стек/операции).
|
||||
- Расхождение «ранбук есть, индекс молчит» — тоже баг ведения, чинить сразу.
|
||||
@@ -11,6 +11,7 @@ inbox monitor: raise on start
|
||||
follow project discipline
|
||||
delegate to interns when allowed
|
||||
recommend, don't menu
|
||||
admin runbooks: use index before any prod op, execute by runbook, write/update runbooks
|
||||
we're on Windows
|
||||
|
||||
# Secrets rule
|
||||
@@ -23,3 +24,10 @@ we're on Windows
|
||||
Все docker-compose stacks на VDS управляются через Portainer (`https://portainer.vds.kzntsv.site`).
|
||||
`ssh + docker compose up -d` на VDS — anti-pattern. См. [`portainer-stack-management-vds`](.wiki/concepts/portainer-stack-management-vds.md) для migration script + gotchas.
|
||||
Исключения: `traefik` + `portainer` (management plane, ad-hoc compose).
|
||||
|
||||
# Runbooks rule
|
||||
|
||||
**Перед любой прод-операцией (деплой/рестарт/ротация/миграция/инцидент) — сначала индекс ранбуков:**
|
||||
[`runbooks-index`](.wiki/concepts/runbooks-index.md) — единственный источник «какой ранбук для чего».
|
||||
Нет ранбука на проект → создать до/вместе с операцией (скил `admin-runbooks` §WRITE).
|
||||
Деплой по ранбуку = таска + письмо админу. Секреты в ранбуках — только плейсхолдеры из `pass`.
|
||||
|
||||
Reference in New Issue
Block a user