47cddcbeaf
- Add check_jwt_secret() that refuses default JWT secret when APP_ENV != development - Make CORS origins configurable via CORS_ORIGINS env var (comma-separated) - Replace hardcoded postgres credentials in docker-compose.yml with env var references - Add APP_ENV and cors_origins to config.py - Update .env.example with all required variables and documentation - Add tests for JWT startup guard and CORS configuration Closes leeworks-agents/SPARC#4 Closes leeworks-agents/SPARC#5 Closes leeworks-agents/SPARC#6 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
43 lines
1.3 KiB
Bash
43 lines
1.3 KiB
Bash
# SPARC Configuration
|
|
|
|
# ---- Application Environment ----
|
|
# Set to "production" or "staging" in deployed environments.
|
|
# The API will refuse to start with the default JWT secret unless APP_ENV=development.
|
|
APP_ENV=development
|
|
|
|
# ---- API Keys ----
|
|
|
|
# SerpAPI key for patent search
|
|
API_KEY=your_serpapi_key_here
|
|
|
|
# OpenRouter API key for LLM analysis
|
|
OPENROUTER_API_KEY=your_openrouter_key_here
|
|
|
|
# ---- Database ----
|
|
|
|
# PostgreSQL credentials (used by docker-compose)
|
|
POSTGRES_USER=postgres
|
|
POSTGRES_PASSWORD=change-me-to-a-secure-password
|
|
POSTGRES_DB=sparc
|
|
|
|
# Full database URL (must match the credentials above)
|
|
DATABASE_URL=postgresql://postgres:change-me-to-a-secure-password@localhost:5432/sparc
|
|
|
|
# ---- Authentication ----
|
|
|
|
# JWT Secret for signing tokens
|
|
# IMPORTANT: Change this to a secure random string in production
|
|
JWT_SECRET=your-secure-jwt-secret-change-in-production
|
|
|
|
# ---- CORS ----
|
|
|
|
# Comma-separated list of allowed origins for CORS
|
|
# Defaults to http://localhost:3000,http://localhost:5173 when unset
|
|
# CORS_ORIGINS=https://sparc.example.com,https://app.example.com
|
|
|
|
# ---- Cache ----
|
|
|
|
# When USE_CACHE=true: check database for cached responses before making API calls
|
|
# When USE_CACHE=false: always make fresh API calls (still stores results in database)
|
|
USE_CACHE=true
|