Skip to content

v2.1.0: Config Manager & Admin API Enhancements

Choose a tag to compare

@gsmlg gsmlg released this 19 Jan 10:12
· 66 commits to main since this release

Features

  • Add ConfigManager GenServer for coordinating in-memory and runtime Caddy config
  • Add Admin.Resources module with domain-specific helpers for common Caddy config paths
  • Expand Admin API tests with 41 comprehensive test cases covering error handling and edge cases

Fixes

  • Fix caddy_bin argument to correctly override saved config in ConfigProvider.init
  • Fix ConfigProvider.start_link to properly handle nested list from supervisor child spec

Refactoring

  • Remove Application.get_env(:caddy, :config) dependency from Request module
  • Simplify config by using Caddy.Config.socket_file() and :admin_host app env
  • Remove bundled config/config.exs - library config should be set by consuming application

Improvements

  • Add comprehensive telemetry for config_manager and resources operations
  • Add ConfigManager behavior for mockable testing
  • Extend Admin API to support path-less config functions (post_config/1, put_config/1, patch_config/1, delete_config/0)