Files
admin/.wiki/concepts/runbooks-index.md

66 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 |
| Локальный стенд sched-pipelines (sched + воркеры @apilki, мок-тест) | [`sched-pipelines-local-stack-runbook.md`](sched-pipelines-local-stack-runbook.md) | команды стенда, таймаут-сценарий (deadline-stop), gotchas 1-7 |
| sched → VDS (ядро daemon + admin API, MariaDB) | [`sched-vds-deploy-runbook.md`](sched-vds-deploy-runbook.md) | стек sched Id 28, storage-mysql + TLS к mariadb, admin API, verify, gotchas |
## Публикация на GitHub (OSS)
| Проект / операция | Ранбук | Что покрывает |
|---|---|---|
| sched → GitHub (dev=Gitea, pub=github.com/schedjs/sched) | [`sched-publish-runbook.md`](sched-publish-runbook.md) | топология dev/pub, синк курируемой копии, выбеливание, CI (unit+Pages), verify, rollback, gotchas (baseURL/ipx/favicon/logo.svg/yarn.lock) |
## Инфраструктурные ранбуки
| Операция | Ранбук | Что покрывает |
|---|---|---|
| Создание Gitea-репо (проект в Gitea) | [`gitea-project-create-runbook.md`](gitea-project-create-runbook.md) | private-репо: admin POST /user/repos → transfer к владельцу; pre-flight; verify; rollback; gotchas (SSH-порт 2222, pass-рефы) |
| Деплой каталога скилов на сервер mappa | [`skills-catalog-deploy-runbook.md`](skills-catalog-deploy-runbook.md) | синк репо-каталогов (mappa-skills/mappa-vitya-skills) → /skills на mappa.vds.kzntsv.site; deploy-catalog.mjs (dry-run → apply); стоящее правило «деплой при каждом изменении исходников» (письмо от держателя каталога); core-immutable interim до mappa task:1466/1467 |
| books VDS — оптимизация памяти (OOM → ECONNREFUSED) | [`books-vds-memory-optimize-runbook.md`](books-vds-memory-optimize-runbook.md) | mongo wiredTiger 0.25 / ES heap / CI-остатки buildx; files-compose (НЕ Portainer-kzntsv); verify; rollback; Manticore-задел |
| 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 ранбука (тег/стек/операции).
- Расхождение «ранбук есть, индекс молчит» — тоже баг ведения, чинить сразу.