diff --git a/20-deployment/backups.md b/20-deployment/backups.md index d31273d..70afe9b 100644 --- a/20-deployment/backups.md +++ b/20-deployment/backups.md @@ -1,13 +1,13 @@ # Бэкапы -## Правила -- Перед рискованным изменением (миграция, апгрейд, реструктуризация) — бэкап. -- БД сервисов — регулярный дамп (cron), хранение на отдельном хосте. -- VM — снапшот перед изменением через гипервизор. -- Бэкап бесполезен, если восстановление не проверено. +Справка для агента, разрабатывающего новый сервис: как в экосистеме устроены бэкапы. +Это описание практики, а не предписание. -## Минимум для нового сервиса -1. Что бэкапим: БД / данные / конфиги (`.env` отдельно от git). -2. Куда: отдельный хост или NFS-шара. -3. Как часто: по критичности (ежедневно для боевых данных). -4. Как восстановить: инструкция в docs сервиса. +## Сложившаяся практика +- Перед рискованным изменением (миграция, апгрейд, реструктуризация) делается бэкап. +- БД сервисов дамнятся по cron; хранение — на отдельном хосте. +- VM снапшотятся через гипервизор перед изменениями. +- Бэкап без проверенного восстановления не считается бэкапом. + +## Для нового сервиса +- Определяются: что бэкапим (БД / данные / конфиги; `.env` отдельно от git), куда (отдельный хост или NFS-шара), как часто (по критичности), как восстановить (инструкция в docs сервиса). diff --git a/20-deployment/domains.md b/20-deployment/domains.md index 595aa88..dcf5927 100644 --- a/20-deployment/domains.md +++ b/20-deployment/domains.md @@ -1,16 +1,14 @@ # Домены и маршруты -Публичные сервисы публикуются через `*.gnexus.space`. +Справка для агента, разрабатывающего новый сервис: как в экосистеме устроена публикация. +Это описание схемы, а не предписание. -## Правила -- Формат поддомена: `.gnexus.space`. -- Базовый маршрут: Internet → external-vps → OpenVPN → internal-proxy-vps → internal-nginx → VM сервиса. -- Новый публичный сервис = поддомен + nginx vhost на internal-nginx + запись в gnexus-book - (traffic-routes + endpoints). -- Актуальную схему TLS и маршрутизации сверять с gnexus-book → `10-systems/traffic-routes/`. +## Схема +- Публичные сервисы доступны через поддомены `*.gnexus.space` (формат `.gnexus.space`). +- Базовый маршрут: Internet → external-vps → OpenVPN → internal-proxy-vps → internal-nginx-proxy → VM сервиса. +- Актуальная схема TLS и маршрутизации — в gnexus-book → `10-systems/traffic-routes/`. -## Как получить маршрут -1. Определить внутренний адрес сервиса (IP:порт). -2. Завести vhost на internal-nginx-proxy. -3. Прописать поддомен на external-vps. -4. Задокументировать в gnexus-book. +## Что это значит для нового сервиса +- Публичный адрес — поддомен `*.gnexus.space`, за которым стоит nginx vhost на internal-nginx-proxy. +- Для появления маршрута нужны: внутренний адрес сервиса (IP:порт), vhost на internal-nginx, поддомен на external-vps. Эти шаги выполняются по согласованию с владельцем. +- Появившийся маршрут документируется в gnexus-book (traffic-routes + endpoints). diff --git a/20-deployment/hosting.md b/20-deployment/hosting.md index ff9cf37..997c262 100644 --- a/20-deployment/hosting.md +++ b/20-deployment/hosting.md @@ -1,15 +1,20 @@ # Где что живёт -Инфраструктура: гипервизор HP ProLiant DL380 G6 (libvirt VM) + VPS в домашней LAN. -Актуальный список хостов, IP и сервисов — в gnexus-book (инвентарь `hosts`/`services`). +Справка для агента, разрабатывающего новый сервис: как в экосистеме устроено размещение. +Это описание сложившегося порядка, а не предписание. -## Правила выбора хоста для нового сервиса -- Веб-сервисы экосистемы — VM на гипервизоре или VPS в LAN. -- Telegram-боты — VM tgbots. -- Тяжёлые/медиа-нагрузки — отдельные VM (Jellyfin, Transmission). -- Не размещать новое на хостах, уже выполняющих критичную роль, без согласования с владельцем. +## Инфраструктура +- Основа — гипервизор HP ProLiant DL380 G6 с libvirt-VM. +- Отдельные VPS в домашней LAN — для navi-инстансов и части сервисов. +- Актуальный список хостов, IP и сервисов — в gnexus-book (инвентарь `hosts`/`services`). -## Правила деплоя -- Код — из GitBucket; деплой воспроизводим (скрипт или инструкция в репо). -- Конфигурация через `.env`, не в коде. -- systemd-юнит для долгоживущих процессов, автостарт после ребута. +## Сложившееся размещение +- Веб-сервисы экосистемы живут на VM гипервизора или VPS в LAN. +- Telegram-боты — на VM tgbots. +- Медиа-нагрузки — на отдельных VM (Jellyfin, Transmission). +- Navi-инстансы — по одному на своём хосте. + +## Как обычно устроен деплой +- Код берётся из GitBucket; способ деплоя описан в репозитории проекта (скрипт или инструкция). +- Конфигурация — через `.env` рядом с сервисом. +- Долгоживущие процессы оформлены systemd-юнитами с автостартом после ребута. diff --git a/README.md b/README.md index 894aad0..c6efe35 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,8 @@ ### Агентам (Navi и другим ИИ) - Перед созданием нового сервиса прочитай этот README и релевантные разделы. +- Разделы написаны по-разному: конвенции (`10-platform/`, `30-operations/`) формулируют правила; + справочники (`20-deployment/`) информируют о том, как здесь что устроено, — без предписаний. - Если правило противоречит задаче владельца — владелец прав, но предложи обновить handbook. - Не копируй правила в другие репозитории и промпты — ссылайся сюда. @@ -29,17 +31,17 @@ ## Оглавление - [00-principles.md](00-principles.md) — базовые принципы платформы -- `10-platform/` — интеграция с общей инфраструктурой +- `10-platform/` — конвенции интеграции с общей инфраструктурой - [auth.md](10-platform/auth.md) — SSO через gnexus-auth - [ui.md](10-platform/ui.md) — UI и визуальный стиль - [notifications.md](10-platform/notifications.md) — уведомления через Gnexus Synapse - [secrets.md](10-platform/secrets.md) — секреты - [git.md](10-platform/git.md) — Git и GitBucket -- `20-deployment/` — деплой +- `20-deployment/` — справка о размещении, доменах и бэкапах (информация, не предписания) - [hosting.md](20-deployment/hosting.md) — где что живёт - [domains.md](20-deployment/domains.md) — домены и маршруты - [backups.md](20-deployment/backups.md) — бэкапы -- `30-operations/` — эксплуатация +- `30-operations/` — конвенции эксплуатации - [monitoring.md](30-operations/monitoring.md) — мониторинг и алерты - [docs.md](30-operations/docs.md) — документирование в gnexus-book - `90-templates/` — шаблоны @@ -48,5 +50,5 @@ ## Границы -Этот репозиторий — только правила. Факты (IP, версии, состояние, маршруты) живут +Этот репозиторий — только правила и справки. Факты (IP, версии, состояние, маршруты) живут в gnexus-book: https://git.gnexus.space/root/gnexus-book (для агентов — через MCP).