Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
A configuration variable can get its value from a variety of sources. It would be useful to be able to programmatically determine that source. At a minimum the ability to determine if a variable was set explicitly in a configuration file vs. using a built in default value would be very useful.
In addition this information should be made available to the administrator via traffic_ctl to aid in debugging.
The proposed values are
- DEFAULT - built in default, hard wired.
- FILE - read from a configuration file.
- API - set via an API of some sort (traffic_line etc.)
- CLUSTER - set via cluster configuration
- ENV - set from an environment variable
In addition the value INVALID will be defined to use for the internal API, primarily as a value to return if the requested variable doesn't exist (in which case none of the previous values are reasonable).
Update: Based on feedback the current values are
- DEFAULT - built in default, hard wired.
- EXPLICIT - set by the administrator
- ENV - set from an environment variable
- NULL - value does not exist, therefore has no source.