YAML Configuration Guide
Last updated
Last updated
The Axion Framework utilizes a centralized YAML configuration file (config.yaml
) to streamline its settings and ensure easy customization. This approach simplifies managing configurations across various environments, such as development, staging, and production.
In this guide, we’ll cover:
The purpose and structure of the configuration file.
How to modify and manage settings.
Best practices for secure management of sensitive data using environment variables.
Here’s a sample config.yaml
file, with an explanation of each section:
config.yaml
You’ll find config.yaml
in the root directory of your Axion Framework project.
Modify the file based on your specific environment:
Example for a production setup:
It’s a best practice to use separate YAML files for each environment:
config.development.yaml
config.staging.yaml
config.production.yaml
Dynamic Loading
Load the appropriate configuration file based on the environment:
To manage sensitive data (like API keys and passwords) securely, avoid hardcoding them in your YAML file.
Add Variables to a .env
File
Reference Variables in config.yaml
Use the ${VARIABLE_NAME}
syntax to include them dynamically:
Load Environment Variables in Code
Use Python’s os
module to read environment variables:
Secure Sensitive Data Always use environment variables for keys, passwords, and other confidential settings.
Environment-Specific YAML Files
Use separate YAML files (config.development.yaml
, config.production.yaml
) and load them dynamically.
Document Configuration Changes Ensure any new configuration options are added to project documentation for clarity and collaboration.
Set the Environment
Edit the YAML File Update paths, hostnames, or thresholds specific to your environment.
Run the Framework
Error: FileNotFoundError: config.yaml not found
Solution: Ensure the config.yaml
file is in the correct directory, or explicitly specify the file path.
Error: API key for openai not found
Solution: Add the required variables to a .env
file or set them in your system environment.
Error: yaml.scanner.ScannerError
Solution: Validate the YAML file using a linter or an online validator.