architect/recovery/lost-platform-docs/old-infra-files.md

Восстановленные файлы из infra/

infra/@dev-pro.server/CLAUDE.md

@dev-pro.server — Документация

Версия: 2.0.0
Дата: 2025-12-01
Роль: Control Plane сервер для управления DevOps инфраструктурой
Сервер: 91.218.142.168 (xirfbwpmvt)
Тип: Infrastructure project
Статус: Производственная система ✅


📚 Быстрая навигация

Основные документы

Проектирование:
- design/PROJECT.md — описание проекта, назначение, роль
- design/ARCHITECTURE.md — архитектура, компоненты, ADR

Управление:
- management/README.md — быстрый старт, основные команды
- management/TODO.md — задачи и статус выполнения

Инфраструктура:
- infrastructure/SERVER.md — характеристики сервера, SSH, безопасность

Решения:
- solution/scripts/LOCATION.md — скрипты управления инфраструктурой


🎯 Назначение

DEV-PRO — центральный узел управления для всей инфраструктуры через Claude Code.

Ключевые факты:
- Сервер НЕ используется для хостинга приложений
- Только для координации и управления
- SSH доступ настроен к управляемым серверам
- Минимальные ресурсы (2 cores, 2GB RAM)
- Работа из-под root пользователя


🔑 SSH доступ

К этому серверу

ssh root@91.218.142.168

Аутентификация: SSH key only (пароль отключён)

К управляемым серверам

# SSH ключ
~/.ssh/id_ed25519

# DEV-PROD-RF (45.144.177.147)
ssh root@45.144.177.147

# Тест подключения
ssh root@45.144.177.147 "hostname"

🖥️ Управляемые серверы

DEV-PROD-RF (45.144.177.147)

Доступ: ssh root@45.144.177.147
SSH Key: Настроен (passwordless)
Роль: Dev+Prod Platform
- 34 Docker контейнера в 7 стеках
- seller1.ru 🔴 PRODUCTION сервис 24/7
Проект: $WORKSPACE/infra/@dev-prod-rf.server/


🚀 Типичные задачи

Проверка состояния инфраструктуры

cd $WORKSPACE/infra/@dev-pro.server/solution/scripts/
./check-infra.sh

Что проверяет:
- DEV-PRO: uptime, CPU, RAM, disk, Docker
- SSH к DEV-PROD-RF
- DEV-PROD-RF: ресурсы, 34 контейнера
- seller1.ru: доступность (HTTP 200)

Подключение к управляемому серверу

cd $WORKSPACE/infra/@dev-pro.server/solution/scripts/
./connect-to-dev-prod-rf.sh

# Или напрямую
ssh root@45.144.177.147

Backup критичных данных

cd $WORKSPACE/infra/@dev-pro.server/solution/scripts/
./backup.sh

Что бэкапится:
- SSH ключи
- Claude workspace
- Системные конфиги

Хранение: /var/backups/dev-pro/
Автоматизация: Cron (воскресенье 03:00)


📁 Важные пути

/root/                        # Home directory
├── .ssh/                     # SSH ключи
   └── id_ed25519           # Ключ для DEV-PROD-RF

$WORKSPACE/        # Claude Code workspace
├── pirotehnika/             # Бизнес: пиротехника
├── lider/                   # Бизнес: Лидер Авто
├── seller1/                 # Бизнес: Seller1
├── infra/                   # Инфраструктура
   ├── @dev-pro.server/    # Этот проект
   └── @dev-prod-rf.server/# Управляемый сервер
├── architect/               # Методология
└── system/                  # Агенты

/var/log/                     # Логи
├── auth.log                  # SSH логи
└── dev-pro-backup.log       # Логи backup

/var/backups/dev-pro/         # Backup архивы

🔒 Безопасность

Firewall (UFW): Активен
- Port 22 (SSH) — ALLOW

fail2ban: Running
- Защита SSH от брутфорса

SSH:
- Аутентификация только по ключу
- Пароль отключён


🛠️ Мониторинг

Ресурсы

htop              # Интерактивный мониторинг
free -h           # Память
df -h             # Диск
uptime            # Аптайм и нагрузка

Логи

tail -f /var/log/auth.log                              # SSH логи
journalctl -f                                          # Системные логи
grep "Failed password" /var/log/auth.log | tail -20   # Неудачные входы

Сервисы

systemctl status docker
systemctl status fail2ban
systemctl status ssh

❌ Что НЕ делать

✅ Что ВСЕГДА делать


🔗 Связанные проекты


📖 Дополнительная информация

Подробная документация:
- design/PROJECT.md — полное описание проекта
- design/ARCHITECTURE.md — архитектура с ADR
- management/README.md — команды и процедуры
- infrastructure/SERVER.md — детали сервера


Статус: ✅ Производственная система
Дата создания: 2025-10-26
Последнее обновление: 2025-12-01


infra/@dev-pro.server/design/ARCHITECTURE.md

Архитектура @infra-dev-pro

Дата: 2025-11-09
Версия: 1.0


Роль в инфраструктуре

Control Plane — центральный узел управления для всей DevOps инфраструктуры.

┌─────────────────────────────────────────┐
│  DEV-PRO (91.218.142.168)               │
│  Control Plane                          │
│                                         │
│  ┌───────────────────────────────────┐  │
│  │  Claude Code Workspace            │  │
│  │  $WORKSPACE/           │  │
│  └───────────────────────────────────┘  │
│                                         │
│  SSH Key: ~/.ssh/id_ed25519            │
│                                         │
└──────────────┬──────────────────────────┘
               │
               │ SSH (passwordless)
               │
               ▼
┌─────────────────────────────────────────┐
│  DEV-PROD-RF (45.144.177.147)          │
│  Production Platform                    │
│                                         │
│  ┌───────────────────────────────────┐  │
│  │  7 Docker Stacks                  │  │
│  │  34 Containers                    │  │
│  │  seller1.ru 🔴 PRODUCTION         │  │
│  └───────────────────────────────────┘  │
└─────────────────────────────────────────┘

Компоненты системы

1. SSH Infrastructure

Входящие соединения:
- Claude Code → DEV-PRO:22
- Аутентификация: SSH key only

Исходящие соединения:
- DEV-PRO → DEV-PROD-RF:22
- Аутентификация: ~/.ssh/id_ed25519 (passwordless)

2. Claude Code Workspace

Расположение: $WORKSPACE/

Структура:

$WORKSPACE/
├── platform/              # Ядро системы
├── templates/             # Шаблоны проектов
├── projects/
   ├── @infra-dev-pro/   # Этот проект
   ├── @infra-dev-prod-rf/
   └── marketplace/
└── archive/

3. Системные утилиты

Мониторинг:
- htop — ресурсы в реальном времени
- free -h — использование RAM
- df -h — использование диска
- uptime — аптайм сервера

Логирование:
- /var/log/auth.log — SSH логи
- journalctl -f — системные логи

Безопасность:
- fail2ban — защита SSH
- UFW firewall — порт 22 открыт


Безопасность

Firewall (UFW)

Статус: Активен

Правила:
- Port 22 (SSH) — ALLOW

fail2ban

Статус: Running
Назначение: Защита SSH от брутфорса

Проверка:

systemctl status fail2ban
fail2ban-client status sshd

SSH ключи

Расположение: ~/.ssh/

Ключи:
- id_ed25519 — для доступа к DEV-PROD-RF (45.144.177.147)
- id_ed25519.pub — публичный ключ

Настройка:

# Проверка ключа
ls -la ~/.ssh/id_ed25519

# Проверка подключения
ssh root@45.144.177.147 "hostname"

Директории

Системные

/root/                        # Home directory (работа из-под root)
├── .ssh/                     # SSH ключи
   └── id_ed25519           # Ключ для управляемых серверов
└── ...

$WORKSPACE/        # Claude Code workspace
├── platform/
├── templates/
├── projects/
   ├── @infra-dev-pro/      # Этот проект
   └── @infra-dev-prod-rf/  # Управляемый сервер
└── archive/

/var/log/                     # Системные логи
├── auth.log                  # SSH логи
├── dev-pro-backup.log       # Логи backup
└── ...

/var/backups/dev-pro/         # Backup архивы
├── ssh-keys/
├── workspace/
└── configs/

Мониторинг

Ресурсы сервера

# CPU, RAM, процессы
htop

# Память
free -h

# Диск
df -h

# Аптайм
uptime

SSH подключения

# Активные сессии
who

# SSH логи
tail -f /var/log/auth.log

# Неудачные попытки входа
grep "Failed password" /var/log/auth.log

Управляемые серверы

# Проверка подключения к DEV-PROD-RF
ssh root@45.144.177.147 "uptime"

# Docker контейнеры на DEV-PROD-RF
ssh root@45.144.177.147 "docker ps --format 'table {{.Names}}\t{{.Status}}'"

# Проверка seller1.ru
ssh root@45.144.177.147 "curl -I https://seller1.ru"

Backup стратегия

Что бэкапим:

  1. SSH ключи~/.ssh/
  2. Claude workspace$WORKSPACE/
  3. Системные конфиги/etc/ssh/, /etc/ufw/, /etc/fail2ban/

Где хранятся:

Автоматизация:

# Скрипт backup
$WORKSPACE/infra/@infra-dev-pro/solution/scripts/backup.sh

# Cron задача (опционально)
0 2 * * * $WORKSPACE/infra/@infra-dev-pro/solution/scripts/backup.sh

Maintenance

Регулярные задачи:

# Обновление системы
apt update && apt upgrade

# Очистка логов
journalctl --vacuum-time=7d

# Проверка неудачных входов
grep "Failed password" /var/log/auth.log | tail -20

# Проверка fail2ban
fail2ban-client status sshd

ADR (Architecture Decision Records)

[ADR-001] Работа из-под root

Дата: 2025-10-26
Статус: Принято

Контекст:
Control Plane сервер используется исключительно для управления инфраструктурой через Claude Code. Доступ имеет только администратор.

Решение:
Работать из-под root пользователя.

Плюсы:
- Упрощение workflow
- Нет проблем с правами доступа
- Прямой доступ ко всем системным функциям

Минусы:
- Потенциально опасно при ошибке команды
- Не соответствует best practices для multi-user систем

Последствия:
- Требуется повышенная осторожность при выполнении команд
- fail2ban защищает SSH от внешних угроз
- Firewall ограничивает доступ только к SSH


[ADR-002] Docker установлен, но не используется

Дата: 2025-10-26
Статус: Принято

Контекст:
Изначально планировалось использовать Docker на Control Plane. Фактически все контейнеры работают на DEV-PROD-RF.

Решение:
Оставить Docker установленным, но не запускать контейнеры.

Плюсы:
- Готовность к возможному будущему использованию
- Минимальное потребление ресурсов (0 контейнеров)
- Доступность Docker CLI для тестирования

Минусы:
- Занимает место (~500MB)

Последствия:
- Docker установлен, но статус: 0 контейнеров
- Основная нагрузка на DEV-PROD-RF


Дата создания: 2025-11-09
Версия: 1.0


infra/@dev-pro.server/design/PROJECT.md

@infra-dev-pro — Control Plane сервер

Тип проекта: Infrastructure
ID: INFRA-001
Статус: Производственная система ✅
Дата создания: 2025-10-26
Последнее обновление: 2025-11-09


Описание

Control Plane сервер для управления DevOps инфраструктурой через Claude Code.

Центральная точка входа для управления удалёнными серверами. Сервер НЕ используется для хостинга приложений — только для координации и управления.


Назначение

Роль: Control Plane (управление инфраструктурой)

Основные функции:
1. Централизованный доступ через Claude Code
2. SSH управление удалёнными серверами
3. Выполнение deployment скриптов
4. Мониторинг состояния инфраструктуры
5. Координация между серверами


Управляемые серверы

DEV-PROD-RF (45.144.177.147)

Доступ: ssh root@45.144.177.147
Аутентификация: SSH key (passwordless)
Роль: Dev+Prod Platform с 34 Docker контейнерами
Проект: @infra-dev-prod-rf

SSH ключ: ~/.ssh/id_ed25519 (уже настроен)


Технологии

Установлено и используется:

Установлено, но НЕ используется:


Команда

Owner: @claude-helper
Team: #devops


Workflow

Локальная машина
     (Claude Code)
DEV-PRO (91.218.142.168)
     (SSH: root@45.144.177.147)
DEV-PROD-RF
     (Docker commands)
34 Containers

Что НЕ делать на этом сервере

❌ Запускать Docker контейнеры (это Control Plane)
❌ Размещать production приложения
❌ Использовать для высоко-ресурсных задач
❌ Устанавливать базы данных или тяжёлые сервисы

Что ВСЕГДА делать

✅ Использовать SSH для управления удалёнными серверами
✅ Держать систему обновлённой
✅ Мониторить SSH access логи
✅ Проверять SSH key connectivity
✅ Держать минимальное потребление ресурсов


Дата создания: 2025-10-26
Версия: 1.0


infra/@dev-pro.server/infrastructure/SERVER.md

Сервер @infra-dev-pro

Hostname: xirfbwpmvt
IP: 91.218.142.168
Роль: Control Plane (управление инфраструктурой)


Характеристики

CPU: 2 cores (AMD EPYC 7763)
RAM: 1.9 GB
Disk: ~30 GB
OS: Ubuntu 22.04.5 LTS
Kernel: 5.15.x
Architecture: x86_64


SSH доступ

К этому серверу

ssh root@91.218.142.168

Порт: 22
Аутентификация: SSH key only (пароль отключён)

К управляемым серверам

# SSH ключ
~/.ssh/id_ed25519

# Подключение к DEV-PROD-RF
ssh root@45.144.177.147

# Тест подключения
ssh root@45.144.177.147 "hostname"
# Ожидается: leruepecie

Установленное ПО

Используется

Установлено, но НЕ используется

Причина: Control Plane не для хостинга, все контейнеры на DEV-PROD-RF.


Безопасность

Firewall (UFW)

Статус: Активен

Правила:

Port 22 (SSH) — ALLOW

Команды:

# Статус
ufw status

# Открытые порты
ufw status numbered

fail2ban

Статус: Running

Назначение: Защита SSH от брутфорса

Команды:

# Статус
systemctl status fail2ban

# Статус защиты SSH
fail2ban-client status sshd

# Список заблокированных IP
fail2ban-client status sshd | grep "Banned IP"

# Разблокировать IP
fail2ban-client set sshd unbanip <IP>

SSH ключи

Расположение: ~/.ssh/

Ключи:
- id_ed25519 — для доступа к DEV-PROD-RF
- id_ed25519.pub — публичный ключ

Права:

# Должны быть 600
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub

Директории

Системные

/root/                        # Home directory
├── .ssh/                     # SSH ключи
   ├── id_ed25519           # Ключ для DEV-PROD-RF
   ├── id_ed25519.pub
   ├── authorized_keys      # Входящий доступ
   └── known_hosts

$WORKSPACE/        # Claude Code workspace
├── platform/                 # Ядро системы
   ├── CLAUDE.md
   ├── MIGRATION-STATUS.md
   └── .claude/
├── templates/                # Шаблоны
├── projects/
   ├── @infra-dev-pro/      # Этот проект
   ├── @infra-dev-prod-rf/  # Управляемый сервер
   └── marketplace/
└── archive/

/var/log/                     # Логи
├── auth.log                  # SSH логи
├── dev-pro-backup.log       # Логи backup
└── ...

/var/backups/dev-pro/         # Backup архивы
├── ssh-keys/
├── workspace/
└── configs/

Мониторинг

Ресурсы

# Интерактивный мониторинг
htop

# Память
free -h

# Диск
df -h

# Аптайм и нагрузка
uptime

Логи

# SSH логи (реальное время)
tail -f /var/log/auth.log

# Системные логи
journalctl -f

# Неудачные попытки входа
grep "Failed password" /var/log/auth.log | tail -20

# Успешные входы
grep "Accepted publickey" /var/log/auth.log | tail -20

Сервисы

# Docker
systemctl status docker

# fail2ban
systemctl status fail2ban

# SSH
systemctl status ssh

Backup

Что бэкапится

  1. SSH ключи (~/.ssh/)
  2. Claude workspace ($WORKSPACE/)
  3. Системные конфиги:
    - /etc/ssh/
    - /etc/ufw/
    - /etc/fail2ban/

Где хранится

Локально: /var/backups/dev-pro/

Структура:

/var/backups/dev-pro/
├── ssh-keys-YYYY-MM-DD.tar.gz
├── workspace-YYYY-MM-DD.tar.gz
└── configs-YYYY-MM-DD.tar.gz

Ротация: Старше 30 дней автоматически удаляются

Запуск backup

# Вручную
$WORKSPACE/infra/@infra-dev-pro/solution/scripts/backup.sh

# Автоматически (cron)
# Каждое воскресенье в 03:00

Логи: /var/log/dev-pro-backup.log


Maintenance

Регулярные задачи

# Обновление системы
apt update && apt upgrade

# Проверка обновлений
apt list --upgradable

# Очистка логов (старше 7 дней)
journalctl --vacuum-time=7d

# Очистка apt cache
apt clean
apt autoremove

# Проверка места на диске
df -h
du -sh /var/* | sort -h

Проверка безопасности

# Неудачные попытки входа
grep "Failed password" /var/log/auth.log | tail -50

# Статус fail2ban
fail2ban-client status sshd

# Открытые порты
ufw status
netstat -tulpn | grep LISTEN

Troubleshooting

SSH не работает

# Статус службы
systemctl status ssh

# Проверка конфига
sshd -t

# Логи
tail -50 /var/log/auth.log

# Перезапуск (осторожно!)
systemctl restart ssh

Нет места на диске

# Проверка использования
df -h
du -sh /* | sort -h

# Очистка логов
journalctl --vacuum-time=7d

# Очистка apt
apt clean
apt autoremove

# Очистка старых backup
find /var/backups/dev-pro/ -mtime +30 -delete

Высокая нагрузка

# Процессы
htop
ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10

# Нагрузка
uptime

# Статус Docker (должно быть 0 контейнеров)
docker ps

Управляемые серверы

DEV-PROD-RF

IP: 45.144.177.147
Hostname: leruepecie
SSH: ssh root@45.144.177.147
SSH Key: ~/.ssh/id_ed25519

Роль: Dev+Prod Platform
- 34 Docker контейнера
- 7 Docker стеков
- seller1.ru 🔴 PRODUCTION

Проверка подключения:

ssh root@45.144.177.147 "hostname && uptime"

Документация: $WORKSPACE/infra/@infra-dev-prod-rf/


Дата создания: 2025-10-26
Последнее обновление: 2025-11-09
Статус: ✅ Производственная система