Files
geutebruck-api/.env.example
Geutebruck API Developer 733b3b924a Phase 1 Complete: Project Setup & Configuration
Completed Tasks (T001-T010):
-  Project structure created (src/, tests/, docs/, scripts/)
-  Python dependencies defined (requirements.txt)
-  C# SDK Bridge project initialized (.csproj)
-  Configuration template (.env.example)
-  Database migration config (alembic.ini)
-  Code quality tools (pyproject.toml with ruff, black, mypy)
-  Development setup script (setup_dev_environment.ps1)
-  Service startup script (start_services.ps1)
-  Architecture documentation (docs/architecture.md)
-  Revised MVP tasks (tasks-revised-mvp.md - 84 tasks focused on cross-switching)

MVP Scope Refined:
- Focus: Cross-switching control for GSCView viewers
- NO recordings, NO analytics, NO LPR in MVP
- REST API only, no UI needed
- Phase 2: GeViSet configuration management

Ready for Phase 2: SDK Bridge Foundation

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-09 08:25:26 +01:00

50 lines
1007 B
Plaintext

# API Configuration
API_HOST=0.0.0.0
API_PORT=8000
API_TITLE=Geutebruck Cross-Switching API
API_VERSION=1.0.0
ENVIRONMENT=development
# GeViScope SDK Bridge
SDK_BRIDGE_HOST=localhost
SDK_BRIDGE_PORT=50051
# GeViServer Connection
GEVISERVER_HOST=localhost
GEVISERVER_USERNAME=sysadmin
GEVISERVER_PASSWORD=masterkey
# Database (PostgreSQL)
DATABASE_URL=postgresql+asyncpg://geutebruck:geutebruck@localhost:5432/geutebruck_api
DATABASE_POOL_SIZE=20
DATABASE_MAX_OVERFLOW=10
# Redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASSWORD=
REDIS_MAX_CONNECTIONS=50
# JWT Authentication
JWT_SECRET_KEY=change-this-to-a-secure-random-key-in-production
JWT_ALGORITHM=HS256
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=60
JWT_REFRESH_TOKEN_EXPIRE_DAYS=7
# Logging
LOG_LEVEL=INFO
LOG_FORMAT=json
# Security
ALLOWED_HOSTS=*
CORS_ORIGINS=http://localhost:3000,http://localhost:8080
# Cache Settings
CACHE_CAMERA_LIST_TTL=60
CACHE_MONITOR_LIST_TTL=60
# Rate Limiting
RATE_LIMIT_ENABLED=true
RATE_LIMIT_PER_MINUTE=60