Caddy.ConfigProvider (Caddy v2.1.3)

View Source

Agent-based configuration provider for Caddy reverse proxy server.

Manages Caddy configuration including binary path, global settings, site configurations, and environment variables using an Agent process.

Summary

Functions

Convert caddyfile to JSON

Backup current configuration

Returns a specification to start this module under a supervisor.

Get config value by key

Get current configuration

Initialize configuration

Restore configuration from backup

Save current configuration

Set additional configuration blocks

Set Caddy binary path

Set binary path and restart server

Replace current configuration

Set global configuration

Set site configuration

Start config agent

Functions

adapt(binary)

@spec adapt(Caddy.Config.caddyfile()) :: {:ok, map()} | {:error, term()}

Convert caddyfile to JSON

backup_config()

@spec backup_config() :: :ok | {:error, term()}

Backup current configuration

child_spec(arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

get(name)

@spec get(atom()) :: binary() | nil

Get config value by key

get_config()

@spec get_config() :: Caddy.Config.t()

Get current configuration

init(args)

@spec init(keyword()) :: %Caddy.Config{
  additional: term(),
  bin: term(),
  env: term(),
  global: term(),
  sites: term()
}

Initialize configuration

restore_config()

@spec restore_config() :: {:ok, Caddy.Config.t()} | {:error, term()}

Restore configuration from backup

save_config()

@spec save_config() :: :ok | {:error, term()}

Save current configuration

set_additional(additionals)

@spec set_additional([Caddy.Config.caddyfile()]) :: :ok

Set additional configuration blocks

set_bin(caddy_bin)

@spec set_bin(binary()) :: :ok | {:error, binary()}

Set Caddy binary path

set_bin!(caddy_bin)

@spec set_bin!(binary()) :: :ok | {:error, term()}

Set binary path and restart server

set_config(config)

@spec set_config(Caddy.Config.t()) :: :ok | {:error, term()}

Replace current configuration

set_global(global)

@spec set_global(Caddy.Config.caddyfile()) :: :ok

Set global configuration

set_site(name, site)

@spec set_site(Caddy.Config.site_name(), Caddy.Config.site_config()) ::
  :ok | {:error, binary()}

Set site configuration

start_link(args)

@spec start_link(keyword()) :: {:ok, pid()} | {:error, term()}

Start config agent