type: standard
layer: arch
object: infra
aspect: structure
form: text
title: "Структура infra/"
status: active
version: 2.0.0
date: 2026-04-15
knowledge_level: У1
parent: arch-platform-structure.md
Компонент ГДЕ ЭТО РАБОТАЕТ — серверы, хранилища, сетевая инфраструктура.
На каком железе и в каких облаках работает платформа?
infra/ описывает физический уровень: серверы, хранилища, коннекторы, скрипты обслуживания.
Не код приложений — только среда выполнения.
infra/
├── @{имя}.server/ — описание сервера / VM
├── @{имя}.storage/ — внешнее хранилище (S3, диск)
├── @{имя}.service/ — инфраструктурный сервис
├── @{имя}.connector/ — коннектор к внешней системе
├── @{имя}.portal/ — веб-портал управления
├── @{имя}.infra/ — прочая инфраструктурная единица
├── @{имя}.pc/ — рабочая станция / скрейпер
├── install/ — установщик платформы
├── scripts/ — операционные скрипты
├── _scripts/ — вспомогательные скрипты
├── INDEX.md — реестр всех компонентов
├── CLAUDE.md — навигатор
└── archive/ — архив старых конфигов
| Тип | Роль | Что устанавливается |
|---|---|---|
control-plane |
Claude Code, gateway, git, monitor | traefik, gitea, platform-monitor, claude |
data-server |
проекты, агенты, БД, dataspace | все бизнес-сервисы, агенты, worker-базы |
backup-server |
restic, snapshots, архив | rclone, backup-сервисы |
shared-hosting |
хостинг beget | PHP/MySQL, nginx, SSH |
| Модуль | IP | Тип | Статус |
|---|---|---|---|
@dev-pro-eu.server/ |
91.218.142.168 | control-plane | active |
@pm-platform.server/ |
155.212.142.142 | data-server | active |
@beget-work.server/ |
— | shared-hosting | active |
@beget-feyerverk.server/ |
— | shared-hosting | active |
@beget-kondurov.server/ |
— | shared-hosting | active |
Архивированные серверы — в
archive/. Не удалять: история нужна для аудита.
@{имя}.server/
├── CLAUDE.md — описание, доступ, роль сервера
├── index.yaml — метаданные: IP, роль, ОС, статус
├── infra.yaml — сервисы запущенные на сервере
├── nginx/ — nginx конфиги (если есть)
├── scripts/ — скрипты для этого сервера
├── management/ — TODO, LOG, STATUS
└── ssh-config — SSH-алиас (опционально)
name: "@{имя}.server"
type: server
class: ServerComponent
layer: infra
status: active # active | archived | planned
role: data-server # control-plane | data-server | backup-server | shared-hosting
ip: 0.0.0.0
os: Ubuntu 22.04
provider: VPS
services:
- name: traefik
type: docker
status: running
port: "80,443"
- name: gitea
type: docker
status: running
port: "3000,2222"
| Модуль | Тип | Назначение |
|---|---|---|
@beget-s3.storage/ |
S3 | $DATASPACE — все данные вне git |
@exchange.storage/ |
Bind mount | Обмен файлами между агентами |
@yandex-disk.storage/ |
Яндекс.Диск | Документы клиентов |
Сервисы обслуживания инфраструктуры — не бизнес-логика.
| Модуль | Назначение |
|---|---|
@backup.service/ |
Бэкапы данных |
@proxy.service/ |
Обратный прокси / обход блокировок |
@mail.service/ |
Почтовый сервис |
@md-viewer.service/ |
Просмотр .md (docs.0kt.ru) |
@browser.service/ |
Headless browser |
@claude-api.service/ |
Прокси к Claude API |
Автоматическая установка платформы на новый сервер.
install/
├── install.sh — главный скрипт (v3+)
├── lib/ — общие функции (config, UI, checks)
├── base/ — базовая установка (OS, Docker, сети)
├── stacks/ — стеки по роли сервера
├── configs/ — конфиги сервисов
└── tests/ — проверки после установки
Использование:
bash install/install.sh
# Выбрать тип сервера → установить нужные стеки
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 → СТОП
Формат: @{имя}.{тип}/
| Тип | Что | Примеры |
|---|---|---|
.server |
физический сервер / VM | @dev-pro-eu.server |
.storage |
внешнее хранилище | @beget-s3.storage |
.service |
инфраструктурный сервис | @backup.service |
.connector |
коннектор к внешней системе | @home-pc.connector |
.portal |
веб-портал управления | @admin.portal |
.infra |
прочее инфраструктурное | @kt-station.infra |
.pc |
рабочая станция / скрейпер | @kt-scraper.pc |
| infra/ | system/ | services/ | |
|---|---|---|---|
| Уровень | физический | логический | прикладной |
| Что описывает | где работает | платформенные агенты | production docker-сервисы |
| Конфиги | nginx, SSH, OS | docker-compose агентов | docker-compose проектов |
| Примеры | @dev-pro-eu.server | @rebuild.service | @lideravto.app |
Правило: бизнес-сервисы проектов → services/, не infra/.