# Local development environment configuration.
#
# Copy this file to .local.env and fill in your values:
#
# cp local.env.example .local.env
#
# Then run with:
#
# python -m src --env local
#
# Or simply use ./run.sh which passes --debug automatically.
#
# pydantic-settings loads .env first (shared defaults), then
# .local.env on top (your local overrides).
#
# .local.env is gitignored (matches **/*.env) — safe for secrets.
#
# ──────────────────────────────────────────────────────────────────
# The defaults in config.py are SECURE BY DEFAULT (locked-down).
# This file opts into development-friendly overrides.
# ──────────────────────────────────────────────────────────────────
# ── Debug mode ────────────────────────────────────────────────────
# Enables Swagger UI (/docs, /redoc), gRPC reflection, and relaxes
# the Content-Security-Policy so docs pages can load CDN resources.
# MUST be false in production (which is the default).
DEBUG=true
# ── Required ──────────────────────────────────────────────────────
GEMINI_API_KEY=
# ── Framework & Server ────────────────────────────────────────────
# FRAMEWORK=fastapi
# SERVER=granian
# PORT=8080
# ── Logging ───────────────────────────────────────────────────────
# Production defaults to "json" (structured, machine-parseable).
# Override to "console" for human-friendly colored output.
LOG_FORMAT=console
# LOG_LEVEL=debug
# ── CORS ──────────────────────────────────────────────────────────
# Production default is "" (same-origin only — deny all cross-origin).
# Set to "*" for local development with browser-based tools.
CORS_ALLOWED_ORIGINS=*
# CORS_ALLOWED_METHODS=GET,POST,OPTIONS
# CORS_ALLOWED_HEADERS=Content-Type,Authorization,X-Request-ID
# ── Request limits ────────────────────────────────────────────────
# MAX_BODY_SIZE=1048576
# REQUEST_TIMEOUT=120.0
# RATE_LIMIT_DEFAULT=60/minute
# GZIP_MIN_SIZE=500
# ── Connection tuning ─────────────────────────────────────────────
# HTTPX_POOL_MAX=100
# HTTPX_POOL_MAX_KEEPALIVE=20
# LLM_TIMEOUT=120000
# KEEP_ALIVE_TIMEOUT=75
# ── Security headers ─────────────────────────────────────────────
# HSTS_MAX_AGE=31536000
# TRUSTED_HOSTS=
# ── Telemetry ─────────────────────────────────────────────────────
# Disable cloud telemetry for local development.
GENKIT_TELEMETRY_DISABLED=1
# ── OpenTelemetry (uncomment to send traces to a local collector) ─
# Start Jaeger first: ./scripts/jaeger.sh start (uses podman/docker)
# Then comment out GENKIT_TELEMETRY_DISABLED above and uncomment:
# OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
# OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
# OTEL_SERVICE_NAME=genkit-asgi-hello