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