# Деплой на ВМ (отладка)

> 2026-06-02. Временное решение пока NodeJS-платформа не готова.

## Git — без изменений

Локально → `git add` + `git commit` + `git push` → gitea.services.ngcloud.ru/Nail/ipwhitelist-app.git

## Схема деплоя

```
Локально (правки) → git push → gitea
                                   ↓
                            git pull на ВМ
                                   ↓
                            pm2 restart ipwhitelist
                                   ↓
                 https://italo.kube5s.ru (nginx → :3000)
```

## ВМ

- IP: `5.172.178.213`
- SSH: `ssh -i ~/.ssh/naeel_vm_id_ed25519 naeel@5.172.178.213`
- Nginx: `/etc/nginx/conf.d/italo.kube5s.ru.conf` → `proxy_pass http://127.0.0.1:3000`
- PM2: `pm2 start server.js --name ipwhitelist`

## PostgreSQL

Локальный на ВМ. `.env`: `DB_HOST=localhost`.

## Отличия от боевого деплоя

| Параметр | ВМ (отладка) | K8s (бой) |
|---|---|---|
| DB_HOST | `localhost` | `postgresqlk8s-master...svc.cluster.local` |
| Аутентификация | Mock (DEV_MODE=true) | OIDC Keycloak |
| URL | `https://italo.kube5s.ru` | `https://wipl...` (платформа) |
| SSL | Let's Encrypt (kube5s.ru) | Платформа |
| Деплой | rsync + git pull | Платформа (git clone) |

## Передача заказчику

После отладки:
1. Репа: `https://gitea.services.ngcloud.ru/Nail/ipwhitelist-app.git`
2. Схема БД: `sql/schema.sql`
3. Документация: `docs/`
   - `ТЗ.md` — техзадание
   - `ТЗ-плюс.md` — уточнения
   - `keycloak-auth-reference.md` — OIDC-интеграция
4. Тесты: `node tests/api.js` (121 тест)
