docs: deploy-vm + copilot-instructions
This commit is contained in:
@@ -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` — креды (токены + БД)
|
||||
@@ -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 тест)
|
||||
Reference in New Issue
Block a user