# Charon Environment Configuration Example
# =========================================
# Copy this file to .env and configure with your values.
# Never commit your actual .env file to version control.

# =============================================================================
# Required Configuration
# =============================================================================

# Database encryption key - 32 bytes base64 encoded
# Generate with: openssl rand -base64 32
CHARON_ENCRYPTION_KEY=

# =============================================================================
# Emergency Reset Token (Break-Glass Recovery)
# =============================================================================

# Emergency reset token - REQUIRED for E2E tests (64 characters minimum)
# Used for break-glass recovery when locked out by ACL or other security modules.
# This token allows bypassing all security mechanisms to regain access.
#
# SECURITY WARNING: Keep this token secure and rotate it periodically (quarterly recommended).
# Only use this endpoint in genuine emergency situations.
# Never commit actual token values to the repository.
#
# Generate with (Linux/macOS):
#   openssl rand -hex 32
#
# Generate with (Windows PowerShell):
#   [Convert]::ToBase64String([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(32))
#
# Generate with (Node.js - all platforms):
#   node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
#
# REQUIRED for E2E tests - add to .env file (gitignored) or CI/CD secrets
CHARON_EMERGENCY_TOKEN=

# =============================================================================
# Optional Configuration
# =============================================================================

# Server port (default: 8080)
# CHARON_HTTP_PORT=8080

# Database path (default: /app/data/charon.db)
# CHARON_DB_PATH=/app/data/charon.db

# Enable debug mode (default: 0)
# CHARON_DEBUG=0

# Use ACME staging environment (default: false)
# CHARON_ACME_STAGING=false
