Raxol.Config.Loader (Raxol v2.6.0)

View Source

Configuration loading utilities for various formats and sources.

Handles loading configuration from files, environment variables, and other sources with proper error handling and validation.

Summary

Functions

Applies default values to configuration.

Creates a backup of a configuration file.

Creates a configuration loader for a specific directory.

Exports configuration to a file.

Loads configuration from environment variables with a prefix.

Loads configuration from a file path.

Loads configuration from multiple file paths, merging them.

Transforms configuration using custom transformation functions.

Validates configuration against schema.

Watches configuration files for changes.

Functions

apply_defaults(config, defaults)

Applies default values to configuration.

backup_config(path)

Creates a backup of a configuration file.

create_directory_loader(directory)

Creates a configuration loader for a specific directory.

export_config(config, path, opts \\ [])

Exports configuration to a file.

load_environment(prefix \\ "RAXOL_")

Loads configuration from environment variables with a prefix.

Env vars whose key segments do not exist as atoms in the schema are skipped with a debug log (prevents String.to_atom atom-table leak from arbitrary OS env input).

load_file(path)

Loads configuration from a file path.

load_files(paths)

Loads configuration from multiple file paths, merging them.

transform_config(config, transformers)

Transforms configuration using custom transformation functions.

validate_config(config, schema \\ Schema.schema())

Validates configuration against schema.

watch_files(paths, callback)

Watches configuration files for changes.