doc: add a checklist
This commit is contained in:
parent
970a0f75c6
commit
809eb4ebac
|
|
@ -0,0 +1,187 @@
|
|||
# Задание: Валидация production конфигов против реальных данных VPS
|
||||
|
||||
> Для выполнения: Claude Code на VPS
|
||||
> Создано: December 24, 2025
|
||||
> Репозиторий: ~/workspace/projects/banatie-service
|
||||
|
||||
## Цель
|
||||
|
||||
Сравнить файлы в `infrastructure/` с реальными конфигами на VPS (`/opt/banatie/`) и обновить репозиторий при расхождениях.
|
||||
|
||||
## Контекст
|
||||
|
||||
Файлы в `infrastructure/` были созданы на основе чата о деплое, но могут не полностью соответствовать реальным конфигам на VPS. Нужно синхронизировать их с production.
|
||||
|
||||
---
|
||||
|
||||
## Задачи
|
||||
|
||||
### 1. Сравнить docker-compose.yml
|
||||
|
||||
**Файл в репо:** `infrastructure/docker-compose.production.yml`
|
||||
**Файл на VPS:** `/opt/banatie/docker-compose.yml`
|
||||
|
||||
```bash
|
||||
# Посмотреть реальный файл
|
||||
cat /opt/banatie/docker-compose.yml
|
||||
```
|
||||
|
||||
**Что проверить:**
|
||||
- [ ] Имена сервисов совпадают
|
||||
- [ ] Networks правильные (особенно `services_proxy-network` vs `proxy-network`)
|
||||
- [ ] Volumes пути совпадают
|
||||
- [ ] Environment variables
|
||||
- [ ] Healthcheck команды
|
||||
- [ ] Build context путь
|
||||
|
||||
**Действие:** Если есть расхождения — обновить `infrastructure/docker-compose.production.yml`
|
||||
|
||||
---
|
||||
|
||||
### 2. Сравнить .env переменные
|
||||
|
||||
**Файл в репо:** `infrastructure/.env.example`
|
||||
**Файл на VPS:** `/opt/banatie/.env`
|
||||
|
||||
```bash
|
||||
# Посмотреть реальные переменные (без секретов)
|
||||
cat /opt/banatie/.env
|
||||
```
|
||||
|
||||
**Что проверить:**
|
||||
- [ ] Все переменные присутствуют
|
||||
- [ ] Значения по умолчанию корректны
|
||||
- [ ] Нет лишних/устаревших переменных
|
||||
|
||||
**Действие:** Обновить `.env.example` если нужно
|
||||
|
||||
---
|
||||
|
||||
### 3. Сравнить secrets.env структуру
|
||||
|
||||
**Файл в репо:** `infrastructure/secrets.env.example`
|
||||
**Файл на VPS:** `/opt/banatie/secrets.env`
|
||||
|
||||
```bash
|
||||
# Посмотреть только имена переменных (БЕЗ значений!)
|
||||
cat /opt/banatie/secrets.env | grep -E '^[A-Z_]+=' | cut -d'=' -f1
|
||||
```
|
||||
|
||||
**Что проверить:**
|
||||
- [ ] Все секреты перечислены в примере
|
||||
- [ ] Нет лишних/устаревших секретов
|
||||
|
||||
**Действие:** Обновить `secrets.env.example` если нужно (только имена, не значения!)
|
||||
|
||||
---
|
||||
|
||||
### 4. Проверить init-db.sql
|
||||
|
||||
**Файл в репо:** `infrastructure/init-db.sql`
|
||||
**Файл на VPS:** `/opt/banatie/scripts/init-db.sql`
|
||||
|
||||
```bash
|
||||
cat /opt/banatie/scripts/init-db.sql
|
||||
```
|
||||
|
||||
**Что проверить:**
|
||||
- [ ] GRANT команды совпадают
|
||||
- [ ] Имя пользователя корректное (banatie_user)
|
||||
|
||||
---
|
||||
|
||||
### 5. Проверить Caddyfile (для документации)
|
||||
|
||||
**Файл на VPS:** `/opt/services/configs/caddy/Caddyfile`
|
||||
|
||||
```bash
|
||||
# Извлечь только Banatie секцию
|
||||
grep -A 50 "BANATIE" /opt/services/configs/caddy/Caddyfile
|
||||
```
|
||||
|
||||
**Что проверить:**
|
||||
- [ ] Конфиг в `docs/deployment.md` соответствует реальному
|
||||
- [ ] Все домены правильные
|
||||
|
||||
**Действие:** Обновить секцию Caddy в `docs/deployment.md` если нужно
|
||||
|
||||
---
|
||||
|
||||
### 6. Проверить deploy скрипты
|
||||
|
||||
**Файлы в репо:** `scripts/deploy-landing.sh`, `scripts/deploy-api.sh`
|
||||
|
||||
```bash
|
||||
# Проверить что скрипты работают
|
||||
head -20 ~/workspace/projects/banatie-service/scripts/deploy-landing.sh
|
||||
head -20 ~/workspace/projects/banatie-service/scripts/deploy-api.sh
|
||||
```
|
||||
|
||||
**Что проверить:**
|
||||
- [ ] Пути корректные
|
||||
- [ ] Команды docker compose правильные
|
||||
|
||||
---
|
||||
|
||||
### 7. Проверить текущий статус сервисов
|
||||
|
||||
```bash
|
||||
# Статус контейнеров
|
||||
docker ps --filter "name=banatie" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
|
||||
# Проверить endpoints
|
||||
curl -s https://api.banatie.app/health | jq
|
||||
curl -s -o /dev/null -w "%{http_code}" https://banatie.app
|
||||
```
|
||||
|
||||
**Записать в документацию** если есть проблемы.
|
||||
|
||||
---
|
||||
|
||||
## Формат отчёта
|
||||
|
||||
После выполнения создай краткий отчёт:
|
||||
|
||||
```markdown
|
||||
## Результаты валидации
|
||||
|
||||
### Расхождения найдены:
|
||||
- [ ] docker-compose.production.yml — описание
|
||||
- [ ] .env.example — описание
|
||||
- [ ] ...
|
||||
|
||||
### Файлы обновлены:
|
||||
- файл1.md
|
||||
- файл2.yml
|
||||
|
||||
### Статус сервисов:
|
||||
- Landing: OK/ERROR
|
||||
- API: OK/ERROR
|
||||
- MinIO: OK/ERROR
|
||||
- PostgreSQL: OK/ERROR
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## После выполнения
|
||||
|
||||
```bash
|
||||
cd ~/workspace/projects/banatie-service
|
||||
|
||||
# Проверить изменения
|
||||
git status
|
||||
git diff
|
||||
|
||||
# Закоммитить если есть изменения
|
||||
git add infrastructure/ docs/
|
||||
git commit -m "fix: sync production configs with VPS reality"
|
||||
git push
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Важно
|
||||
|
||||
1. **НЕ копировать секреты** в репозиторий — только имена переменных
|
||||
2. **НЕ менять** реальные конфиги на VPS — только обновлять файлы в репо
|
||||
3. При серьёзных расхождениях — сначала спросить перед изменениями
|
||||
Loading…
Reference in New Issue