ConfigGenerator
- duetector.tools.config_generator._recursive_load(config_scope: str, config_dict: dict, default_config: dict)[source]
Support .(dot) separated config_scope
Example
>>> _recursive_load("monitor.bcc", {}, {"auto_init": True}) {'monitor': {'bcc': {'auto_init': True}}}
- class duetector.tools.config_generator.ConfigGenerator(load: bool = True, path: bool | None = None, load_env: bool = True, include_extension: bool = True)[source]
Bases:
objectTools for generate config file by inspecting all modules.
- Parameters:
load (bool) – Load config file or not.
path (str) – Path to config file.
load_env (bool) – Load environment variables or not.
include_extension (bool) – Include extensions or not.
- HEADLINES = "# This is a auto generated config file for duetector🔍\n# You can modify this file to change duetector's behavior\n# For more information, please visit https://github.com/hitsz-ids/duetector\n\n# All config keys will be converted to lower case.\n# It's ok to use upper case or camel case for readability.\n\n"
- managers = [<class 'duetector.managers.filter.FilterManager'>, <class 'duetector.managers.tracer.TracerManager'>, <class 'duetector.managers.collector.CollectorManager'>, <class 'duetector.managers.analyzer.AnalyzerManager'>, <class 'duetector.managers.injector.InjectorManager'>]
All managers to inspect.
- monitors = [<class 'duetector.monitors.bcc_monitor.BccMonitor'>, <class 'duetector.monitors.sh_monitor.ShMonitor'>, <class 'duetector.monitors.subprocess_monitor.SubprocessMonitor'>]
All monitors to inspect.
- others = [<class 'duetector.service.config.ServerConfig'>]