chore: PostgreSQL migration compatibility and infrastructure improvements
Database & Migrations: - Update all Alembic migrations for PostgreSQL compatibility - Remove SQLite-specific syntax (AUTOINCREMENT, etc.) - Add database utility helpers for PostgreSQL operations - Fix services to use PostgreSQL-compatible queries Documentation: - Add comprehensive Docker deployment guide - Add production deployment documentation - Add infrastructure architecture documentation - Update database setup guide for PostgreSQL-only - Expand troubleshooting guide Architecture & Validation: - Add migration.yaml rules for SQL compatibility checking - Enhance validate_architecture.py with migration validation - Update architecture rules to validate Alembic migrations Development: - Fix duplicate install-all target in Makefile - Add Celery/Redis validation to install.py script - Add docker-compose.test.yml for CI testing - Add squash_migrations.py utility script - Update tests for PostgreSQL compatibility - Improve test fixtures in conftest.py Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -355,6 +355,52 @@ def validate_configuration(env_vars: dict) -> dict:
|
||||
"items": ["Set PLATFORM_DOMAIN for your deployment"]
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# Celery / Redis Task Queue
|
||||
# -------------------------------------------------------------------------
|
||||
redis_url = env_vars.get("REDIS_URL", "")
|
||||
use_celery = env_vars.get("USE_CELERY", "false").lower() == "true"
|
||||
flower_url = env_vars.get("FLOWER_URL", "")
|
||||
flower_password = env_vars.get("FLOWER_PASSWORD", "")
|
||||
|
||||
if use_celery:
|
||||
if redis_url:
|
||||
celery_items = [f"Redis: {redis_url.split('@')[-1] if '@' in redis_url else redis_url}"]
|
||||
|
||||
if flower_url:
|
||||
celery_items.append(f"Flower: {flower_url}")
|
||||
else:
|
||||
celery_items.append("FLOWER_URL not set (monitoring disabled)")
|
||||
|
||||
if flower_password and flower_password != "changeme":
|
||||
celery_items.append("Flower password configured")
|
||||
elif flower_password == "changeme":
|
||||
celery_items.append("WARNING: Change FLOWER_PASSWORD for production!")
|
||||
|
||||
results["celery"] = {
|
||||
"status": "ok",
|
||||
"message": "Celery enabled with Redis",
|
||||
"items": celery_items
|
||||
}
|
||||
else:
|
||||
results["celery"] = {
|
||||
"status": "missing",
|
||||
"message": "Celery enabled but Redis not configured",
|
||||
"items": [
|
||||
"Set REDIS_URL (e.g., redis://localhost:6379/0)",
|
||||
"Or disable Celery: USE_CELERY=false"
|
||||
]
|
||||
}
|
||||
else:
|
||||
results["celery"] = {
|
||||
"status": "warning",
|
||||
"message": "Celery disabled (using FastAPI BackgroundTasks)",
|
||||
"items": [
|
||||
"Set USE_CELERY=true for production",
|
||||
"Requires Redis: docker-compose up -d redis"
|
||||
]
|
||||
}
|
||||
|
||||
return results
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user