Files
attune/config.example.yaml
2026-02-04 17:46:30 -06:00

111 lines
3.0 KiB
YAML

# Attune Configuration Example
# Copy this file to config.yaml and customize for your environment
# For production, use environment variables to override sensitive values
# Service metadata
service_name: attune
environment: development
# Database configuration
database:
# PostgreSQL connection URL
# Format: postgresql://username:password@host:port/database
url: postgresql://postgres:postgres@localhost:5432/attune
# Connection pool settings
max_connections: 50
min_connections: 5
connect_timeout: 30 # seconds
idle_timeout: 600 # seconds
# Enable SQL statement logging (useful for debugging)
log_statements: false
# PostgreSQL schema name (defaults to "attune" if not specified)
schema: "attune"
# Redis configuration (optional, for caching and pub/sub)
redis:
url: redis://localhost:6379
pool_size: 10
# Message queue configuration (optional, for async processing)
message_queue:
url: amqp://guest:guest@localhost:5672/%2f
exchange: attune
enable_dlq: true
message_ttl: 3600 # seconds
# Server configuration
server:
host: 0.0.0.0
port: 8080
request_timeout: 30 # seconds
enable_cors: true
# Allowed CORS origins
# Add your frontend URLs here
cors_origins:
- http://localhost:3000
- http://localhost:5173
- http://127.0.0.1:3000
- http://127.0.0.1:5173
# Maximum request body size (bytes)
max_body_size: 10485760 # 10MB
# Logging configuration
log:
# Log level: trace, debug, info, warn, error
level: info
# Log format: json (for production), pretty (for development)
format: json
# Enable console logging
console: true
# Optional: log to file
# file: /var/log/attune/attune.log
# Security configuration
security:
# JWT secret key - CHANGE THIS!
# Generate with: openssl rand -base64 64
jwt_secret: your-secret-key-change-this
# JWT token expiration times (seconds)
jwt_access_expiration: 3600 # 1 hour
jwt_refresh_expiration: 604800 # 7 days
# Encryption key for secrets - CHANGE THIS!
# Must be at least 32 characters
# Generate with: openssl rand -base64 32
encryption_key: dev-encryption-key-at-least-32-characters-long-change-this
# Enable authentication
enable_auth: true
# Worker configuration (optional, for worker services)
# Uncomment and configure if running worker processes
# worker:
# name: attune-worker-1
# worker_type: local
# max_concurrent_tasks: 10
# heartbeat_interval: 30 # seconds
# task_timeout: 300 # seconds
# Environment Variable Overrides
# ==============================
# You can override any setting using environment variables with the ATTUNE__ prefix.
# Use double underscores (__) to separate nested keys.
#
# Examples:
# ATTUNE__DATABASE__URL=postgresql://user:pass@localhost/attune
# ATTUNE__SERVER__PORT=3000
# ATTUNE__LOG__LEVEL=debug
# ATTUNE__SECURITY__JWT_SECRET=your-secret-here
# ATTUNE__SERVER__CORS_ORIGINS=https://app.com,https://www.app.com
#
# For production deployments, use environment variables for all sensitive values!