Page cover

YAML Configuration Guide

YAML Configuration Guide

Introduction

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.


Configuration File Structure

Here’s a sample config.yaml file, with an explanation of each section:


Editing the Configuration File

Locate and Open config.yaml

You’ll find config.yaml in the root directory of your Axion Framework project.

Update Configuration Values

Modify the file based on your specific environment:

  • Example for a production setup:

Use Environment-Specific Configurations

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:


Using Environment Variables

To manage sensitive data (like API keys and passwords) securely, avoid hardcoding them in your YAML file.

Steps for Secure Key Management

  1. Add Variables to a .env File

  2. Reference Variables in config.yaml Use the ${VARIABLE_NAME} syntax to include them dynamically:

  3. Load Environment Variables in Code Use Python’s os module to read environment variables:


Best Practices

  • 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.


Example Workflow

  1. Set the Environment

  2. Edit the YAML File Update paths, hostnames, or thresholds specific to your environment.

  3. Run the Framework


Common Issues and Solutions

1. Missing Configuration File

  • Error: FileNotFoundError: config.yaml not found

  • Solution: Ensure the config.yaml file is in the correct directory, or explicitly specify the file path.

2. Missing Environment Variables

  • Error: API key for openai not found

  • Solution: Add the required variables to a .env file or set them in your system environment.

3. Invalid YAML Syntax

  • Error: yaml.scanner.ScannerError

  • Solution: Validate the YAML file using a linter or an online validator.

Last updated