539c33ef42
Step 0: Infrastructure hardening — Redis BlockingConnectionPool, WebSocket two-layer (memory+Redis Pub/Sub), JWT auth, DB session leak fix Step 1: Data layer — 4 new tables (platforms/nodes/command_logs/ssh_sessions), data migration (category→Node), repos + API routes Step 2: Auth layer — JWT middleware on all routes, TOTP JWT integration Step 3: Web SSH — asyncssh connection pool, /ws/terminal endpoint, xterm.js frontend, Koko protocol Step 4: Sync engine v2 — file/command/config/SFTP modes, parallel execution Step 5: Frontend migration — 12 Tailwind CSS v4 + Alpine.js pages, PHP-FPM removal from nginx config 21 Python backend + 12 HTML frontend + 2 deploy configs + 3 test files Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
23 lines
431 B
Plaintext
23 lines
431 B
Plaintext
# Nexus — Server Management Platform
|
|
# Python Backend Dependencies
|
|
|
|
fastapi==0.115.6
|
|
uvicorn[standard]==0.34.0
|
|
sqlalchemy[asyncio]==2.0.36
|
|
aiomysql==0.2.0
|
|
alembic==1.14.0
|
|
pydantic==2.10.3
|
|
pydantic-settings==2.7.0
|
|
python-multipart==0.0.19
|
|
jinja2==3.1.5
|
|
aiofiles==24.1.0
|
|
httpx==0.28.1
|
|
apscheduler==3.11.0
|
|
websockets==14.1
|
|
paramiko==3.5.0
|
|
asyncssh==2.17.0
|
|
PyJWT==2.10.1
|
|
bcrypt==4.2.1
|
|
pyyaml==6.0.2
|
|
rich==13.9.4
|
|
redis[hiredis]==5.2.1 |