Dev guideAPI Reference
Dev guideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Agent advanced configuration

Advanced configuration options for Optimizley Agent.

Setting configuration values

Configuration can be provided to Optimizely Agent via the following methods:

  1. Reading from environment variables
  2. Reading from a YAML configuration file

📘

Note

When a configuration option is specified through both methods, environment variables take precedence over the config file.

Internally, Optimizely Agent uses the Viper library's support for configuration files and environment variables.

Config file location

The default location of the config file is config.yaml in the root directory. If you want to specify another location, use the OPTIMIZELY_CONFIG_FILENAME environment variable:

OPTIMIZELY_CONFIG_FILENAME=/path/to/other_config_file.yaml make run

Nested configuration options

When setting the value of "nested" configuration options using environment variables, underscores denote deeper access. The following examples are equivalent ways of setting the client polling interval.

Set the polling interval in YAML:

# Setting a nested value in a .yaml file:
client:
    pollingInterval: 120s

Set the polling interval with a shell script:

# Set environment variable for pollingInterval, nested inside client
export OPTIMIZELY_CLIENT_POLLINGINTERVAL=120s

Unsupported environment variable options

Some options can only be set via a config file and not environment variables:

  • admin.auth.clients
  • api.auth.clients
  • Options underwebhook.projects

For details on these options, see the Configuration Options table in the Agent GitHub Readme.