docs: deploy-vm + copilot-instructions

This commit is contained in:
2026-06-02 14:20:24 +03:00
parent 66a52d9363
commit 9384e516ed
2 changed files with 78 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
# IP WhiteList — Copilot Instructions
## Ключевые правила
1. Отвечать кратко. Вопрос = СТОП.
2. Не трогать рабочий код без «делай».
3. Не лезть в БД / kubectl / сервер без прямого указания.
4. После любой правки — VERSION++ в package.json.
5. Git только локально: add + commit + push.
## Репа
- https://gitea.services.ngcloud.ru/Nail/ipwhitelist-app.git
## Стек
- Node.js + Express + EJS
- PostgreSQL
- REST API /api/v1/* (Bearer JWT)
- UI-слой (сессии, SSR через EJS)
## Тесты
- `node tests/api.js` — API (Bearer JWT, 121 тест)
- `node tests/integration.js` — интеграционные (сессии, HTML-формы)
## Важные файлы
- `docs/ТЗ.md` — техническое задание
- `docs/ТЗ-плюс.md` — уточнения от заказчика
- `docs/keycloak-auth-reference.md` — справка по Keycloak/OIDC
- `Files/token.txt` — креды (токены + БД)
+51
View File
@@ -0,0 +1,51 @@
# Деплой на ВМ (отладка)
> 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 тест)