architect/_archive/2025-11-cleanup/INFRA_QUICK_START.md

ИНФРАСТРУКТУРА - БЫСТРЫЙ СТАРТ

Версия: 1.0.0 | Дата: 2025-11-17

Полная документация: platform/docs/INFRA_RULES.md


🎯 ОСНОВНАЯ ИДЕЯ

infra/      ← ГДЕ работают проекты (серверы, хранилища, сервисы)
projects/   ← ЧТО работает (приложения, продукты)

Каждая инфраструктура имеет: INFRA.yaml с метаданными
Каждый проект знает свою инфраструктуру: ссылка на INFRA.yaml


📂 СТРУКТУРА

/opt/claude-workspace/
├── infra/                           ВСЯ инфраструктура (8 проектов)
   ├── @infra-dev-pro/             VPS EU (Control Plane)
   ├── @infra-dev-prod-rf/         VPS RU (Production + Dev)
   ├── @remote-beget-kondurov/     Beget Shared Hosting
   ├── @web-beget-panel/           Beget Web Panel
   ├── @service-stripe-example/    Stripe API Example
   ├── infra-yandex-disk/          Яндекс.Диск Storage
   ├── infra-s3-beget/             Beget S3 Storage
   └── infra-file-exchange/        SSH/SSHFS File Exchange

├── projects/                        Только приложения
   ├── marketplace/
   ├── pim-drupal/
   ├── nomenclature1c/
   └── drupal-shop-template/

├── cifra/apps/                      Приложения через CIFRA
└── platform/                        Platform v1

🏷️ СХЕМА ИМЕНОВАНИЯ

Префикс Тип Пример Когда использовать
@infra-* Собственные VPS/серверы @infra-dev-pro Наши серверы
@remote-* Удалённые серверы @remote-beget-kondurov Чужие хостинги
@web-* Веб-панели (без API) @web-beget-panel Панели управления
@service-* Внешние API сервисы @service-stripe-example Stripe, AWS, etc.
infra-* Инфраструктурные утилиты infra-yandex-disk Библиотеки, утилиты
(без префикса) Приложения marketplace Проекты

📝 ТИПЫ ИНФРАСТРУКТУРЫ

Тип Что это Примеры
vps Выделенный/виртуальный сервер @infra-dev-pro
shared-hosting Shared хостинг @remote-beget-kondurov
web-panel Веб-панель управления @web-beget-panel
external-service Внешний API @service-stripe-example
cloud-storage Облачное хранилище infra-s3-beget
network-share Сетевая папка infra-file-exchange

🆕 СОЗДАТЬ НОВУЮ ИНФРАСТРУКТУРУ

1. Создать папку

cd /opt/claude-workspace/infra/
mkdir @infra-prod-us  # или @remote-*, @web-*, @service-*, infra-*
cd @infra-prod-us
mkdir design infrastructure management solution

2. Создать INFRA.yaml

# Infrastructure: Production US Server
# Создан: 2025-11-17
# Тип: vps

infrastructure:
  name: "Production US Server"
  type: vps  # vps | shared-hosting | web-panel | external-service | cloud-storage | network-share
  provider: "AWS"
  ip: "1.2.3.4"
  purpose: "Production приложения"
  created: "2025-11-17"
  status: active

access:
  ssh:
    host: 1.2.3.4
    user: root
    key_path: ~/.ssh/id_rsa

projects:
  - name: my-app
    path: /opt/my-app/
    type: web-app
    status: active
    priority: high

specifications:
  cpu:
    cores: 4
  ram:
    total: "8 GB"
  disk:
    total: "100 GB"
    type: SSD

tags:
  - vps
  - production
  - aws

version: "1.0.0"
last_updated: "2025-11-17"

🆕 СОЗДАТЬ НОВЫЙ ПРОЕКТ

1. Определить расположение

На собственном сервере:

cd /opt/claude-workspace/projects/
mkdir my-new-app

На удалённом хостинге:

cd /opt/claude-workspace/infra/@remote-beget/projects/
mkdir my-website

2. Создать PROJECT.yaml

# Project: My New App
# Создан: 2025-11-17
# Тип: web-app

project:
  name: "my-new-app"
  type: "web-app"
  status: "development"
  created: "2025-11-17"

# ОБЯЗАТЕЛЬНО: Ссылка на инфраструктуру
infrastructure:
  server: "@infra-prod-us"              # Название инфраструктуры
  infra_file: ../../INFRA.yaml          # Путь к INFRA.yaml
  hosting_type: vps

  locations:
    code: /opt/my-new-app/
    logs: /var/log/my-new-app/

technology:
  language: "Python"
  framework: "FastAPI"

version: "1.0.0"
last_updated: "2025-11-17"

3. Обновить INFRA.yaml

Добавить проект в список:

projects:
  - name: my-new-app
    path: /opt/my-new-app/
    type: web-app
    status: development
    priority: medium
    project_file: "../../../design/PROJECT.yaml"  # Ссылка на проект

🔗 ДВУНАПРАВЛЕННЫЕ ССЫЛКИ

INFRA.yaml → Проекты

projects:
  - name: marketplace-mvp
    path: /opt/claude-workspace/projects/marketplace/
    project_file: "../../../design/PROJECT.md"  ← Ссылка

PROJECT.yaml → INFRA.yaml

infrastructure:
  server: "@infra-dev-pro"
  infra_file: ../../INFRA.yaml  ← Обратная ссылка

Относительные пути:

Из projects/ к infra/:

projects/marketplace/design/PROJECT.md
 ../../infra/@infra-dev-pro/INFRA.yaml

Из infra/projects/ к infra/:

infra/@remote-beget/projects/site/PROJECT.yaml
 ../../INFRA.yaml

🔍 НАВИГАЦИЯ

Найти всю инфраструктуру

find /opt/claude-workspace/infra -name "INFRA.yaml" | sort

Найти инфраструктуру по типу

# VPS серверы
grep -l "type: vps" /opt/claude-workspace/infra/*/INFRA.yaml

# Cloud storage
grep -l "type: cloud-storage" /opt/claude-workspace/infra/*/INFRA.yaml

Найти проекты на сервере

# Открыть INFRA.yaml и посмотреть секцию projects:
cat /opt/claude-workspace/infra/@infra-dev-pro/INFRA.yaml | grep -A 50 "projects:"

Найти сервер для проекта

# Прочитать PROJECT.yaml
grep "server:" /opt/claude-workspace/projects/marketplace/design/PROJECT.md

# Найти путь к INFRA.yaml
grep "infra_file:" /opt/claude-workspace/projects/marketplace/design/PROJECT.md

Найти все проекты, использующие инфраструктуру

grep -r "server: \"@infra-dev-pro\"" /opt/claude-workspace/

❓ БЫСТРЫЕ ВОПРОСЫ

У меня новый VPS сервер. Куда его добавить?

cd /opt/claude-workspace/infra/
mkdir @infra-{назначение}-{локация}  # Например: @infra-prod-us
# Создать INFRA.yaml с type: vps

У меня новое приложение. Куда его добавить?

На собственном сервере:

cd /opt/claude-workspace/projects/
mkdir my-app

На удалённом хостинге:

cd /opt/claude-workspace/infra/@remote-{провайдер}/projects/
mkdir my-app

Как найти, на каком сервере работает проект?

# Прочитать PROJECT.yaml
cat projects/marketplace/design/PROJECT.md | grep "Сервер:"

# Или grep
grep "server:" projects/*/design/PROJECT.*

Как найти все проекты на сервере?

# Открыть INFRA.yaml сервера
cat infra/@infra-dev-pro/INFRA.yaml | grep -A 50 "projects:"

Куда добавить Stripe API?

cd /opt/claude-workspace/infra/
mkdir @service-stripe
# Создать INFRA.yaml с type: external-service

Важно: Проекты не "размещаются" на Stripe, они его используют.

# PROJECT.yaml проекта
infrastructure:
  server: "@infra-prod-us"  # Где работает приложение

integrations:
  payment: "@service-stripe"  # Какие API использует

📊 ТЕКУЩАЯ СТАТИСТИКА

Всего инфраструктуры: 8 проектов

Проектов в workspace: 7+


📚 ДОКУМЕНТАЦИЯ

Полные правила:

platform/docs/INFRA_RULES.md  (50+ страниц, все детали)

Структура инфраструктуры:

infra/STRUCTURE.md  (типы, именование, примеры)

Этот файл:

INFRA_QUICK_START.md  (быстрая справка)

✅ ЧЕКЛИСТ ДЛЯ НОВОГО ПРОЕКТА


Версия: 1.0.0
Дата: 2025-11-17
Автор: Claude Code
Статус: ✅ Готово к использованию