Phil submit the TS-2014 Add an API to register a plugin config file to monitor,
get me pickup this file, the file monitor and config + plugin management need a
better solution, please comment.
thanks
## RFC: how to do file monitor and config file reload
In the Apache Traffic Server, there is a file monitor system in the manager
process, which will monitor the change of the config files, here we will
discuss how to we should do with the file monitoring and config reloading.
### The Current Implement
* ATS config files:
We do config file monitor, sync, backup, snap, roll-back in the manager,
and the globule config file is register in 'initializeRegistry()'.
### What We Need To Manage?
In Apache Traffic Server, the most important part is for plugins, which
will expand the functions and features of the proxy, playing the killer feature
compare to the competitors.
* Global config files, those are files we now covered:
log_hosts.config
logs_xml.config
storage.config
socks.config
proxy.pac
records.config
vaddrs.config
cache.config
icp.config
ip_allow.config
parent.config
remap.config
update.config
volume.config
hosting.config
congestion.config
plugin.config
splitdns.config
ssl_multicert.config
stats.config.xml
prefetch.config
* plugin config files, plugin configs are often changed in daily usage, users
should not be forced to restart the cache if they just have some minor change
in one of the plugin config file:
* plugin config file for global plugin defined in 'plugin.config'
* plugin config file for remap defined in 'remap.config'
* plugin binary files, if there is many plugins, then you may have to deal with
the plugin upgrading in production, we should handle it in the smooth way.
* global plugin so files
* remap plugin so files
### How To Deal With The Files?
1. monitor the change of the files, and call back for the corresponding
functions
2. be able to add and remove file from the monitoring file list
3. be able to manage in the cluster env, sync and update
### What is the root problem?
* most of the plugin related config and so files is defined in the
traffic_server scope while the file management is done in the traffic_manager
* unify the directory where the plugin and plugin config is stored, to make it
easy to manage for cluster and other tools
* if you'd like to track all the config & so files in the cluster, how to work
with operation side management tools such as 'cfengine', 'puppet' and 'chef'
etc.
* make own plugin for records.config management?
* disable cluster management of the config files and plugin so?
### Things We Need To Prepare:
* set rules for plugin management, so files and config files
* set plugin config specs, set standards and APIs
* make it able to register files to the file management system, even in plugin
* get the common config options into records style config options, for most
usage
* get it clear how to update the plugin so, config file and get it actived