Commit Graph
319 Commits
Author SHA1 Message Date
naeel 38c7adf25d v0.5.14 — вход по токену, JWKS в mock-режиме, production deploy docs
- POST /login-token: принимает реальный JWT (не только clientId)
- auth.js: verifyAnyToken — mock + JWKS (Keycloak Nubes) одновременно
- auth.js: JWKS предзагружается всегда, даже в mock-режиме
- devops-deploy.md: полная production-инструкция для DevOps
- .env.example: production-ready шаблон
- README.md: актуальный (v0.5.13, архитектура, тесты, ссылки)
- .gitignore: очищен от дубликатов
2026-06-03 12:37:10 +03:00
naeel 22beaa86a3 v0.5.13: AGENT-GUIDE.md — полный гайд для AI-агентов (англ.) 2026-06-03 06:22:35 +03:00
naeel 2841e3ac27 v0.5.13: gitignore разработческих файлов (DevOps-чистота) 2026-06-03 06:19:55 +03:00
naeel 8feabc339d v0.5.13: DevOps-деплой гайд + .env.example 2026-06-03 06:17:49 +03:00
naeel ba0779db51 v0.5.13: подготовка OIDC (Keycloak) — роуты готовы, ждут DevOps
- src/routes/oidc.js: /login, /callback, /logout
  Активны ТОЛЬКО при KC_CLIENT_ID+KC_CLIENT_SECRET
  Сейчас (mock) — пустой router, запросы уходят в UI
- server.js: подключены OIDC-роуты
- docs/deploy-keycloak.md: что нужно от DevOps для включения
2026-06-03 06:12:22 +03:00
naeel 9344eb57fb v0.5.13: убраны футеры с версией (версия в шапке и title) 2026-06-03 06:06:53 +03:00
naeel 3dc5dc4ecc v0.5.13: зачистка UI — мёртвый login.ejs, /exp→/export, комментарии 2026-06-03 06:06:40 +03:00
naeel ac0f151bcb v0.5.13 2026-06-03 05:54:46 +03:00
naeel d7afff4bcd v0.5.12: версия в title и заголовке страниц
- <title> → IP WhiteList v<%= appVersion %> — ...
- <h1> на login → IP WhiteList v<%= appVersion %>
- Header → «Белые списки IP v...»
- Футер с версией уже был
2026-06-03 05:42:23 +03:00
naeel 599808b838 fix: переключение компаний не работало — req.user.activeClientId не синхронизировался
Баг: resolveUser запускается ДО обработчика. После смены
session.user.activeClientId рендер и companyQuery продолжали
использовать старое значение req.user.activeClientId.

Фикс: req.user.activeClientId = switchTo после обновления сессии.
2026-06-03 05:34:06 +03:00
naeel 0fd5b43a94 v0.5.12: доделки перед сдачей заказчику
§4.7: агрегация CIDR в публичном /export (aggregateCIDRs)
§5: клиентская JS-валидация (запрещённые диапазоны + нормализация)
§4.1: фильтр «показать удалённые» для admin (API + UI)
§5: уведомление о нормализации (уже работало, проверено)

Файлы:
- server.js: +aggregateCIDRs в /export
- views/index.ejs: JS-валидация + чек-бокс удалённых
- src/api/routes/entries.js: ?includeDeleted=true (admin only)
- ui/routes/entries.js: проброс includeDeleted
- docs/PLAN-predsdachey.md: план доделок
2026-06-02 19:04:24 +03:00
naeel 805b440e5d v0.5.11: ТЗ-полный compliance тест — 111 тестов, 20 компаний × 100 CIDR
Покрытие:
- §4.1 Просмотр списка (19 тестов)
- §4.2 Создание записи (10 тестов)
- §4.3 Редактирование (4 теста)
- §4.4 Soft delete (5 тестов)
- §4.5 Лимиты (8 тестов)
- §4.6 Аудит (7 тестов)
- §4.7 Export (13 тестов)
- §5 Валидация — все 14 запрещённых + маски + XSS/SQLi (21 тест)
- §3 Роли и права (9 тестов)
- §3.1 Мульти-компания (7 тестов)
- ТЗ-плюс уточнения (2 теста)

Результат: 111 PASS, 0 FAIL — лог в test-results/
2026-06-02 18:38:08 +03:00
naeel b10b3e8b09 правило №6: перед изменением кода — описать и получить согласие 2026-06-02 18:13:17 +03:00
naeel 6bbd0fe1e2 v0.5.11: /export публичный (временно, с заделом на Keycloak SSO)
Изменения:
- server.js: публичный GET /export до всей авторизации
  🔮 Для Keycloak SSO: раскомментировать auth.bearerMiddleware
- Удалён ошибочно созданный src/routes/exp.js
- Обновлены тесты: /export доступен без авторизации
2026-06-02 18:12:35 +03:00
naeel 15b458eb35 v0.5.11: зачистка мёртвого кода + новые интеграционные тесты
Удалено:
- src/routes/*.js (5 файлов) — старая монолитная архитектура
- views/dev-login.ejs — старый dev-логин
- tests/debug-session.js — тесты старой архитектуры

Добавлено:
- safeReturn в src/auth.js
- Новые интеграционные тесты tests/integration.js (67 тестов, UI+API)

Обновлено:
- tests/run-tests.js — убраны старые require, добавлены новые модули
- tests/tz-compliance.js — /exp → /api/v1/entries/export
- server.js — убран require('./src/routes/exp')
2026-06-02 18:04:33 +03:00
naeel 4694b7e8a6 v0.5.11: версия + фикс теста MOCK_USERS.length 3→4 2026-06-02 17:49:07 +03:00
naeel 453e25e40f ui: убрать вход по Bearer токену, добавить ручной ввод clientId (отладка) 2026-06-02 17:31:21 +03:00
naeel 51a003e078 v0.5.10: /export — attachment default, ?view=1 inline, ?filename=custom 2026-06-02 14:49:50 +03:00
naeel 72e021acfe docs: уточнение — любой юзер компании может редактировать whitelist 2026-06-02 14:37:27 +03:00
naeel 9384e516ed docs: deploy-vm + copilot-instructions 2026-06-02 14:20:24 +03:00
naeel 66a52d9363 v0.5.9: fix tests IDs, revert dotenv abs paths, deploy-vm doc 2026-06-02 14:20:16 +03:00
naeel b91b78ab04 v0.5.8: distinct MOCK_USERS (WZ88888=АЛЬФА, WZ77777=БЕТА) 2026-06-02 11:36:53 +03:00
naeel f1416e6566 v0.5.7: unique company names in MOCK_USERS 2026-06-02 11:32:41 +03:00
naeel ff4b35414c v0.5.6: bump version 2026-06-02 11:30:23 +03:00
naeel 23d55a1005 v0.5.4: auto-switch on select change, remove buttons 2026-06-02 11:30:03 +03:00
naeel 8ea10f1e37 v0.5.4: fix multi-company API — client_id validation, export isolation, 121 tests PASS 2026-06-02 11:20:51 +03:00
naeel 59ad0fa67e v0.5.5: fix export client_id + multi-company tests (section O) 2026-06-02 11:17:23 +03:00
naeel 8ab2271ff9 v0.5.4: fix isolation — resolveUser syncs activeClientId from session 2026-06-02 11:11:20 +03:00
naeel 1b1b3b6bd7 v0.5.3: fix multi-company API isolation (client_id param) 2026-06-02 10:57:52 +03:00
naeel a083f65323 v0.5.2: multi-company, isAdmin fix, appVersion, docs 2026-06-02 10:52:12 +03:00
naeel 07528b0de3 cluster cleanup 2026-06-01: remove fission, sless, fix metrics-server 2026-06-01 17:17:43 +03:00
naeel 94fb12b99d chore: скрыть questions-devops.md + обновить 2026-05-31 13:40:30 +03:00
naeel a3d535781c chore: скрыть agent review files из репо 2026-05-31 13:38:41 +03:00
naeel f75214c2a7 chore: скрыть prompt-opus файлы (.gitignore) 2026-05-31 13:37:27 +03:00
naeel c4bb86f2fc chore: скрыть внутреннюю аналитику из публичного репо (.gitignore) 2026-05-31 13:33:18 +03:00
naeel 1e581b3208 test: helpers.js — безопасные тестовые CIDR, проверка коллизий, удаление аудита + fix compliance 2026-05-31 13:17:21 +03:00
naeel 10ef2011be fix: pre-cleanup удаляет только тестовые CIDR, не все записи 2026-05-31 13:06:21 +03:00
naeel d1d591299e fix: compliance cleanup — add 86.0.0.0/24, 87.0.0.1/32 to cleanup list 2026-05-31 13:04:32 +03:00
naeel 63d3a67eea fix: убрать кнопку Применить из аудита — onchange достаточно 2026-05-31 13:01:32 +03:00
naeel 64da1f9834 test: compliance fix mask overlap + test results log (340 pass, 0 fail) 2026-05-31 12:58:20 +03:00
naeel 0abaa65bf8 fix: preserve form values on error + rename Дата→Добавлена, Изменён→Изменена + bump 0.5.1 2026-05-31 12:48:08 +03:00
naeel bfeae74e71 docs: README — секция 'Как получить список', /export vs /exp 2026-05-31 12:43:02 +03:00
naeel 707319ed23 docs: README — в процессе разработки, описание функционала, без установки 2026-05-31 12:41:04 +03:00
naeel e90b0454c1 docs: README — quick start, architecture, roles, deploy 2026-05-31 12:37:49 +03:00
naeel 5e1ce80003 test: ТЗ compliance — 45 API-тестов + полный отчёт о соответствии 2026-05-31 10:26:28 +03:00
naeel 35d8b7fcc2 docs: full documentation update — AGENT.md v0.5.0 + CONTEXT.md fixes/changes summary 2026-05-31 10:21:27 +03:00
naeel d8613c7112 test: stress tests expanded to 191 (concurrency, boundary IPs, CIDR masks, auth attacks, unicode, session, massive parallel) 2026-05-31 10:18:33 +03:00
naeel a24634199b test: stress tests — concurrency, races, edge cases (32 pass) + bump 0.5.0 2026-05-31 10:10:48 +03:00
naeel d8de91577c 1 2026-05-31 10:06:50 +03:00
naeel c0c10a5ea0 docs: добавить исходный ТЗ docx 2026-05-31 09:43:14 +03:00