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