architect/standards/_archive/2026-04-15/arch-infra-structure.v1.0.0.md

type: standard
layer: arch
object: infra
aspect: structure
form: text
title: "Структура infra/"
status: active
version: 1.0.0
date: 2026-04-15
knowledge_level: У1
parent: arch-platform-structure.md


Структура infra/

Компонент ГДЕ ЭТО РАБОТАЕТ — серверы, хранилища, сетевая инфраструктура.


1. ВОПРОС КОМПОНЕНТА

На каком железе и в каких облаках работает платформа?

infra/ описывает физический уровень: серверы, S3-хранилища, nginx-конфиги, скрипты обслуживания. Не код приложений (system/) — только среда выполнения.


2. СТРУКТУРА

infra/
├── @{имя}.server/      описание сервера
├── @{имя}.storage/     описание хранилища (S3, диск)
├── @{имя}.service/     инфраструктурный сервис (не бизнес)
├── @{имя}.connector/   коннектор к внешней системе
├── @{имя}.portal/      веб-портал управления
├── @{имя}.infra/       инфраструктурная единица (прочее)
├── scripts/            операционные скрипты
├── _scripts/           вспомогательные скрипты
└── archive/            архив старых конфигов

3. СЕРВЕРЫ (@{имя}.server/)

Один модуль = один сервер или виртуальная машина.

Модуль IP Роль
@dev-pro-eu.server/ 91.218.142.168 Control Plane EU + прокси
@aipd-server-rf.server/ 155.212.142.142 Новый основной (RF)
@beget-work.server/ Shared hosting beget
@beget-feyerverk.server/ Shared hosting (pirotehnika)
@beget-kondurov.server/ Shared hosting (kondurov)

Структура модуля сервера:

@{имя}.server/
├── CLAUDE.md          — описание сервера, доступ
├── index.yaml         — метаданные (IP, роль, ОС)
├── nginx/             — nginx конфиги
├── scripts/           — скрипты для этого сервера
└── ssh-config         — SSH-алиас

4. ХРАНИЛИЩА (@{имя}.storage/)

Внешние хранилища: S3, Яндекс.Диск, exchange-папки.

Модуль Тип Назначение
@beget-s3.storage/ S3 Бэкапы, статика
@exchange.storage/ Локальная папка Обмен файлами между агентами
@yandex-disk.storage/ Яндекс.Диск Документы клиентов

5. ИНФРАСТРУКТУРНЫЕ СЕРВИСЫ (@{имя}.service/)

Сервисы обслуживания инфраструктуры — не бизнес, не платформа.

Модуль Назначение
@backup.service/ Бэкапы данных
@proxy.service/ Обратный прокси
@mail.service/ Почтовый сервис
@md-viewer.service/ Просмотр .md файлов (docs.0kt.ru)
@file-exchange.service/ Обмен файлами
@browser.service/ Headless browser

6. СКРИПТЫ (scripts/)

Операционные скрипты для обслуживания инфраструктуры.

scripts/
├── backup.sh              — полный бэкап
├── check_resources.sh     — проверка ресурсов перед деплоем
├── disaster-recovery/
│   ├── backup-critical.sh
│   └── restore.sh
└── git-backup-s3.sh       — git → S3

Использование перед деплоем:

bash /opt/scripts/check_resources.sh
# GREEN → продолжай / YELLOW → cleanup / RED → СТОП

7. ПРАВИЛА ИМЕНОВАНИЯ МОДУЛЕЙ

Формат: @{имя}.{тип}/

Тип Что Примеры
.server физический сервер / VM @dev-pro-eu.server
.storage внешнее хранилище @beget-s3.storage
.service инфраструктурный сервис @backup.service
.connector коннектор к внешней системе @home-pc.connector
.portal веб-портал управления @admin.portal
.infra прочее инфраструктурное @kt-station.infra

8. РАЗНИЦА infra/ VS system/

infra/ system/
Уровень физический (железо, сеть) логический (агенты, сервисы)
Что описывает где работает что работает
Конфиги nginx, SSH, OS docker-compose, app-config
Примеры @dev-pro-eu.server @rebuild.service

СВЯЗАННЫЕ ДОКУМЕНТЫ