cleanup финал: AGENT-GUIDE SSH-команда, deploy-keycloak URL, keycloak-auth ФИО/namespaces

This commit is contained in:
2026-06-03 13:19:46 +03:00
parent f5dd0eaf15
commit b7fe03f02d
3 changed files with 13 additions and 26 deletions
+5 -10
View File
@@ -1,7 +1,7 @@
# IP Whitelist App — AI Agent Guide
> For AI coding agents (Copilot, etc.) to understand and continue development.
> Last updated: 2026-06-03 | Version: 0.5.13
> Last updated: 2026-06-03 | Version: 0.5.14
## 1. Quick Overview
@@ -206,17 +206,11 @@ node tests/tz-full-compliance.js
node tests/stress.js
```
All tests: 347+ PASS, 0 FAIL (v0.5.13)
All tests: 347+ PASS, 0 FAIL
## 11. Deployment (VM)
## 11. Deployment
```bash
# From local workspace:
rsync -az -e "ssh -i ~/.ssh/naeel_vm_id_ed25519 ..." /home/naeel/ipwhitelist-app/ naeel@5.172.178.213:~/ipwhitelist/ --exclude node_modules --exclude .git --exclude .env
# On VM:
cd ~/ipwhitelist && pm2 restart ipwhitelist --update-env
```
Deploy the app on a VM with nginx as reverse proxy. See `docs/devops-deploy.md` for details.
## 12. Common Pitfalls
@@ -253,6 +247,7 @@ See `docs/deploy-keycloak.md` for details.
| Version | Date | Key Changes |
|---------|------|-------------|
| 0.5.14 | 2026-06-03 | Token login, JWKS in mock mode, production deploy docs |
| 0.5.13 | 2026-06-03 | OIDC routes prepared, .env.example, devops-deploy guide, repo cleanup |
| 0.5.12 | 2026-06-02 | Fixed company switch bug, aggregation, validation, TZ compliance |
| 0.5.11 | 2026-06-02 | Dead code cleanup, new integration tests, /export public |
+2 -2
View File
@@ -16,7 +16,7 @@
# ── Keycloak realm (прямой или через API Gateway) ──
KC_BASE_URL=https://keycloak.nubes.ru/realms/cloud
# ИЛИ через API Gateway:
# KC_BASE_URL=https://lk-api-gateway-test.ngcloud.ru/api/v1/iam/auth
# KC_BASE_URL=<url API Gateway>
# ── OAuth client (зарегистрированное приложение) ──
KC_CLIENT_ID=<ID клиента из Keycloak>
@@ -63,6 +63,6 @@ pm2 logs ipwhitelist --lines 3
# Должно быть: "[auth] OIDC — Keycloak"
# Если видно "[auth] MOCK" — значит KC_CLIENT_ID не задан
# 4. Перейти на https://white.nodejsk8s.dev.nubes.ru/login
# 4. Открыть https://<домен>/login
# Должен редиректить на Keycloak вместо формы входа
```
+6 -14
View File
@@ -66,26 +66,18 @@ scope: openid
token_type: Bearer
```
Claims (массив):
- `""`
- `""`
- `wz03709-shturval-admin-iot-naeel` — namespace в k8s (Fission)
- `wz03709-shturval-admin-naeel-test-3` — ещё один namespace
> ⚠️ `ClientID` может отсутствовать — зависит от issuer'а.
> ⚠️ `ClientID` в этом токене **отсутствует** — это другой issuer (`auth.k8s.ngcloud.ru`), не Keycloak.
### 5.2. Токен из HAR (deck-test)
### 5.2. Пример токена
| Поле | Значение |
|---|---|
| `iss` | `auth-api` |
| `ClientID` | `WZ01325` |
| `company_id` | `3e64aac6-dcfc-4082-88dc-da19c86555a5` |
| `company_name` | Тест |
| `login` | `tazet@narod.ru` |
| `firstname` | Наиль |
| `lastname` | Тазетдинов |
| `email` | `tazet@narod.ru` |
| `company_id` | `<uuid>` |
| `company_name` | Название компании |
| `login` | `user@example.com` |
| `email` | `user@example.com` |
### 5.3. Целевой формат токена (из ТЗ)