Cross-repository SecureSoft documentation now lives in
Securesoftdev/securesoft-docs. Keep code-level LK, TG bot, and repository-specific notes here; put platform maps and multi-repository coordination docs in the shared documentation repository.
Полная актуальная документация по проекту: архитектура, сервисы, API-контуры, данные, инфраструктура, разработка и эксплуатация.
Расширенная карта проекта и оглавление доступны в docs/INDEX.md.
- Desktop clients now use LK bootstrap route
/api/desktop/bootstrapinstead of stitching user, subscription, and access data manually. - Node analytics now aggregate sidecar telemetry, including speedtest
last/avg/peakthroughput snapshots and reserve/capacity truth-model data.
SecureLink- — монорепозиторий VPN-платформы с актуальной архитектурой из LK + TG Bot + TrustTunnel-контуров внутри LK:
- LK (
apps/lk) — личный кабинет (backend на Hono + frontend на React/Vite), ядро бизнес-логики, авторизация, подписки, планы, shop/referral-контуры, TrustTunnel/VPN API, внутренние интеграции. - TG Bot (
apps/tg-bot) — Telegram-бот для модерации shop-потока и интеграции с LK internal access API.
Дополнительно:
packages/prom-client— локальный workspace-пакет с Prometheus-клиентом.k8s/— манифесты и Helm-чарты для production/smoke окружений.docs/— эксплуатационная и архитектурная документация.
- Node.js
>=20 <21(на уровне монорепозитория). - TypeScript/JavaScript (CommonJS в рабочих приложениях).
- Backend:
hono,@hono/node-server,zod,jsonwebtoken. - Data:
pg,drizzle-orm,drizzle-kit. - Frontend:
react,react-dom,react-router,vite. - Security/Auth:
argon2, HttpOnly session cookie. - Observability:
prom-client.
- TypeScript +
tsx,pg.
apps/
lk/ # Личный кабинет (API + UI + миграции + тесты)
tg-bot/ # Telegram bot
packages/
prom-client/ # Локальный пакет метрик
k8s/ # Манифесты Kubernetes + Helm
docs/ # Общая документация и runbooks
scripts/ # Вспомогательные shell-скрипты
LK — центральный сервис платформы.
Backend разделён на отдельные модули (apps/lk/src/server/modules/*):
auth,users,adminUsersplans,subscriptions,inviteLinksaffiliates,shops,analyticsvpnNodes,vpnJwt,trustTunnelinternalVpn,internalWebhooksmodulesAdmin,push,health
Это даёт изоляцию доменов и упрощает развитие API.
- Аутентификация и сессии (включая внутренние режимы и роли).
- Управление пользователями, тарифами, подписками и устройствами.
- Выдача TrustTunnel classic-доступа (JWT token + manual access).
- Shop/referral/affiliate-контур с модерацией и аналитикой.
- TrustTunnel-функции (нодовый реестр, credential/import/reconcile/диагностика).
- Метрики и health endpoints для эксплуатации.
React-приложение (apps/lk/src/react-app) с экранами:
- подписок,
- shop-настроек,
- админ-аналитики,
- модальных сценариев (планы, выдача подписки, партнёрские уровни и т.д.).
- Источники миграций:
apps/lk/src/db/migrationsиapps/lk/drizzle. - Миграции применяются только migrator runtime (
node dist/scripts/migrate.js); LK runtime выполняет только schema verify на старте. Проверки:db:migrate,db:verify,db:gate:migrations. - Контракт данных и допущения по таблицам:
docs/03_LK_DATA_MODEL.md.
- Unit/integration тесты покрывают модули
subscriptions,shops,trustTunnel,vpnJwt,auth,internalVpnи др. - Контрактные и регрессионные тесты для чувствительных VPN/TrustTunnel-потоков.
- Baseline migration после squash:
apps/lk/src/db/migrations/0000_initial_clean.sql(+ журналapps/lk/src/db/migrations/meta). - Проверки:
db:verifyиdb:gate:migrations. - Контракт таблиц:
docs/03_LK_DATA_MODEL.md.
TG Bot обслуживает Telegram-процессы shop-модерации.
- Обработка событий/команд для approve/reject flow.
- Проверка прав через LK internal access endpoint.
- Ролевая модель доступа (admin/seller/scope checks).
- Защитное поведение при 401/403/timeout от LK (deny + retry transient).
- Auth/users:
/api/auth/*,/api/users/*. - Plans/admin pricing:
/api/pricing,/api/admin/plans*. - VPN:
/api/v1/vpn/*(активация, токены, dynamic config).
- LK internal:
/internal/vpn/*,/internal/webhooks/*, TrustTunnel internal маршруты. - TG bot access check:
/api/v1/internal/tg-bot/accessв LK.
Полный перечень конкретных endpoint-деталей см. в специализированных документах (docs/*.md, apps/*/README.md).
docs/INDEX.md— оглавление и статус документации.docs/01_LK_REPO_OVERVIEW.md— обзор репозитория LK.docs/02_LK_MODULE_MAP.md— карта модулей backend/frontend.docs/03_LK_DATA_MODEL.md— модель данных и связи.docs/04_LK_API_SURFACE.md— карта HTTP API.docs/05_LK_CURRENT_FLOWS.md— текущие рабочие потоки.docs/06_LK_FINAL_TARGET_ARCHITECTURE.md— целевая архитектура.docs/07_LK_FINAL_PRODUCT_AND_UI.md— целевая продуктовая/UI модель.docs/08_LK_GAPS_AND_ROADMAP.md— roadmap и gap-анализ.docs/09_LK_CODEX_GUIDE.md— инженерные правила для AI-агентов.docs/10_ASSUMPTIONS_AND_OPEN_QUESTIONS.md— допущения и открытые вопросы.docs/11_LK_ALIGNMENT_EXECUTION_PLAN.md— план выравнивания.docs/12_LK_TARGET_DIFF_AND_BACKLOG.md— backlog выравнивания.
docs/sidecar_contract_v1.md— контракт взаимодействия LK ↔ sidecar (v1).docs/SIDECAR_DOCS_STATUS.md— статус sidecar-related документов и owner обновлений.
В текущем срезе репозитория отдельная папка docs/runbooks/ отсутствует.
Актуальные операционные инструкции зафиксированы в docs/11_LK_ALIGNMENT_EXECUTION_PLAN.md и docs/12_LK_TARGET_DIFF_AND_BACKLOG.md.
apps/lk/docs/LK_MODULES_GUIDE.mdapps/lk/docs/PR_WORKFLOW.mdapps/lk/MIGRATION_NOTES.md
npm cinpm run lk:build
npm run lk:test
npm run lk:db:verify
npm run tg:build
npm run tg:start
npm run ci:check# LK dev
npm run -w apps/lk dev
# TG bot dev
npm run -w apps/tg-bot dev- Production-манифесты находятся в
k8s/namespaces/production/.... - Исторические/архивные манифесты — в
k8s/archive/.... - Smoke job chart для LK —
k8s/helm/lk-smoke. - Значимая практика: документировать инфраструктурные изменения в
docs/runbooks/*и профильныхdocs/*.
- LK API:
apps/lk/src/server/modules/* - LK UI:
apps/lk/src/react-app/* - LK DB schema/migrations:
apps/lk/src/db/*,apps/lk/drizzle/* - TG bot runtime:
apps/tg-bot/src/* - K8s/Helm:
k8s/* - Операционные документы:
docs/*
При изменении поведения, API, переменных окружения, схемы БД или инфраструктуры:
- Обновляйте профильный документ в
docs/*илиapps/*/docs/*. - Синхронизируйте
README.mdсоответствующего сервиса. - При изменениях таблиц/миграций обновляйте контракт и runbook.
- Для новых модулей добавляйте описание в разделы архитектуры/карты репозитория.
Эта страница — единая входная точка. Детали по каждому домену вынесены в узкопрофильные документы, перечисленные выше.