Replace servers.json, certificates.json, and map file parsing with SQLite (WAL mode) as single source of truth. HAProxy map files are now generated from SQLite via sync_map_files(). Key changes: - Add db.py with schema, connection management, and JSON migration - Add DB_FILE config constant - Delegate file_ops.py functions to db.py - Refactor domains.py to use file_ops instead of direct list manipulation - Fix subprocess.TimeoutExpired not caught (doesn't inherit TimeoutError) - Add DB health check in health.py - Init DB on startup in server.py and __main__.py - Update all 359 tests to use SQLite-backed functions Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
42 lines
386 B
Plaintext
42 lines
386 B
Plaintext
# Separate projects
|
|
api/
|
|
|
|
# Certificates and secrets
|
|
certs/
|
|
conf/mcp-token.env
|
|
mcp/.env
|
|
*.env
|
|
|
|
# Server configuration (contains IPs)
|
|
conf/servers.json
|
|
conf/domains.map
|
|
|
|
# Runtime data
|
|
run/
|
|
data/
|
|
*.state
|
|
*.lock
|
|
*.db
|
|
*.db-wal
|
|
*.db-shm
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
.venv/
|
|
venv/
|
|
.coverage
|
|
htmlcov/
|
|
.pytest_cache/
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
|
|
# Claude Code
|
|
.claude/
|
|
|
|
# Docker
|
|
.dockerignore
|