You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

81 lines
1.7 KiB

# Simple Mensa API Configuration
# Database Configuration
database:
host: "localhost"
port: 5432
name: "simple_mensa"
user: "postgres"
password: "example"
pool_min_size: 5
pool_max_size: 20
pool_max_queries: 50000
pool_max_inactive_connection_lifetime: 300.0
# Authentication Configuration
auth:
algorithm: "RS256"
# JWT settings for external providers (Azure AD / Keycloak)
jwks_url: "https://login.microsoftonline.com/common/discovery/v2.0/keys"
issuer: "https://login.microsoftonline.com/{tenant_id}/v2.0"
audience: "api://simple-mensa"
# Token expiration in seconds
access_token_expire_minutes: 60
# API Server Configuration
server:
host: "0.0.0.0"
port: 8000
debug: false
reload: false
workers: 1
# CORS Configuration
cors:
allow_origins:
- "http://localhost:3000"
- "http://localhost:8080"
allow_credentials: true
allow_methods:
- "GET"
- "POST"
- "PUT"
- "DELETE"
- "OPTIONS"
allow_headers:
- "Authorization"
- "Content-Type"
- "Accept"
# Rate Limiting
rate_limiting:
enabled: true
requests_per_minute: 60
burst_size: 10
# Logging Configuration
logging:
level: "INFO"
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
file: "logs/api.log"
max_file_size: "10MB"
backup_count: 5
# Business Logic Configuration
business:
# Maximum days in advance for booking
max_booking_days: 7
# Minimum hours before meal time to allow booking
min_booking_hours: 2
# Default page size for pagination
default_page_size: 20
max_page_size: 100
# Notification Settings
notifications:
enabled: true
email_provider: "smtp"
smtp_host: "localhost"
smtp_port: 587
smtp_user: ""
smtp_password: ""