# AtlasOS - Calypso API Configuration Template
# This file will be copied to /etc/calypso/config.yaml during installation
# Environment variables from /etc/calypso/secrets.env will be used for sensitive values

server:
  port: 8080
  host: "0.0.0.0"
  read_timeout: 15s
  write_timeout: 15s
  idle_timeout: 60s
  # Response caching configuration
  cache:
    enabled: true              # Enable response caching
    default_ttl: 5m            # Default cache TTL (5 minutes)
    max_age: 300               # Cache-Control max-age in seconds (5 minutes)

database:
  host: "localhost"
  port: 5432
  user: "calypso"
  password: ""  # Set via CALYPSO_DB_PASSWORD environment variable
  database: "calypso"
  ssl_mode: "disable"
  # Connection pool optimization
  max_connections: 25
  max_idle_conns: 5
  conn_max_lifetime: 5m

auth:
  jwt_secret: ""  # Set via CALYPSO_JWT_SECRET environment variable
  token_lifetime: 24h
  argon2:
    memory: 65536      # 64 MB
    iterations: 3
    parallelism: 4
    salt_length: 16
    key_length: 32

logging:
  level: "info"        # debug, info, warn, error
  format: "json"       # json or text

# CORS configuration
cors:
  allowed_origins:
    - "http://localhost:3000"
    - "http://localhost:5173"
  allowed_methods:
    - "GET"
    - "POST"
    - "PUT"
    - "DELETE"
    - "PATCH"
  allowed_headers:
    - "Content-Type"
    - "Authorization"
  allow_credentials: true

# Rate limiting
rate_limit:
  enabled: true
  requests_per_minute: 100
  authenticated_requests_per_minute: 200

