Reorganized project structure for better maintainability and reduced disk usage by 95.9% (11 GB -> 451 MB). Directory Reorganization (85% reduction in root files): - Created docs/ with subdirectories (deployment, testing, database, etc.) - Created infrastructure/vpn-configs/ for VPN scripts - Moved 90+ files from root to organized locations - Archived obsolete documentation (context system, offline mode, zombie debugging) - Moved all test files to tests/ directory - Root directory: 119 files -> 18 files Disk Cleanup (10.55 GB recovered): - Deleted Rust build artifacts: 9.6 GB (target/ directories) - Deleted Python virtual environments: 161 MB (venv/ directories) - Deleted Python cache: 50 KB (__pycache__/) New Structure: - docs/ - All documentation organized by category - docs/archives/ - Obsolete but preserved documentation - infrastructure/ - VPN configs and SSH setup - tests/ - All test files consolidated - logs/ - Ready for future logs Benefits: - Cleaner root directory (18 vs 119 files) - Logical organization of documentation - 95.9% disk space reduction - Faster navigation and discovery - Better portability (build artifacts excluded) Build artifacts can be regenerated: - Rust: cargo build --release (5-15 min per project) - Python: pip install -r requirements.txt (2-3 min) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
29 lines
718 B
Python
29 lines
718 B
Python
#!/usr/bin/env python3
|
|
"""
|
|
Create a JWT token for ClaudeTools API access
|
|
"""
|
|
import jwt
|
|
from datetime import datetime, timedelta, timezone
|
|
|
|
# Get the JWT secret from the RMM server's .env file
|
|
# This should match what's in /opt/claudetools/.env on 172.16.3.30
|
|
JWT_SECRET = "NdwgH6jsGR1WfPdUwR3u9i1NwNx3QthhLHBsRCfFxcg="
|
|
|
|
# Create token data
|
|
data = {
|
|
"sub": "import-script",
|
|
"scopes": ["admin", "import"],
|
|
"exp": datetime.now(timezone.utc) + timedelta(days=30)
|
|
}
|
|
|
|
# Create token
|
|
token = jwt.encode(data, JWT_SECRET, algorithm="HS256")
|
|
|
|
print(f"New JWT Token:")
|
|
print(token)
|
|
print()
|
|
print(f"Expires: {data['exp']}")
|
|
print()
|
|
print("Add this to .claude/context-recall-config.env:")
|
|
print(f"JWT_TOKEN={token}")
|