Skip to content

03.2 Configuration

sunithvs edited this page Feb 23, 2025 · 1 revision

Configuration Documentation

The configuration module manages all settings and environment variables for the devb.io application.

Settings Class

The Settings class in settings.py is the central configuration management system.

Key Configuration Areas

  1. API Authentication

    • API_KEYS: List of valid API keys from environment variables
    • Required for application startup
  2. Debug Mode

    • DEBUG: Controlled via environment variable
    • Defaults to false
  3. Directory Paths

    • BASE_DIR: Root directory of the project
    • DATA_DIR: Data storage directory
    • TEMPLATES_DIR: Template files location
    • HTML_OUTPUT_DIR: Generated HTML output location
    • LOGS_DIR: Log files directory
  4. API Token Management

    • Thread-safe token rotation for GitHub API
    • Token retrieval methods:
      • get_github_token()
      • get_groq_key()

Environment Variables

Required environment variables:

  • API_KEYS: Comma-separated list of valid API keys
  • DEBUG: Boolean flag for debug mode
  • Optional API tokens for various services

File Structure

config/
├── settings.py       # Main settings file
└── __init__.py

Usage

The Settings class is designed to be used as a singleton and provides centralized access to all configuration values across the application.

Clone this wiki locally