# kylin-agent **Repository Path**: lch-ky/kylin-agent ## Basic Information - **Project Name**: kylin-agent - **Description**: The agent for kylin-manager - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 3 - **Created**: 2021-09-15 - **Last Updated**: 2024-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # kylin-agent #### 介绍 The agent for kylin-manager #### 软件架构 python3.6及以上,无需第三方库支持,仅使用python标准库。 #### 安装教程 1. 安装python3.6以上运行环境,python app.py #### 整体说明 ​ Agent采用io多路复用,使用tcp二进制流协议,将管理端发送的各任务分发到对应事件处理类,处理完成后在主线程中进行响应。 目前主要包含配置读取写入、软件包下发、命令行提醒、自定义脚本功能。 #### 目录结构说明 1. config/ ​ 包含config.json,用于指定配置文件的解析与写入。 2. config_handler/ ​ handler_factory.py:配置工厂,提供配置写入与读取的对外接口。 ​ kernel_handler/ ​ kernel_handler.py:用于处理内核参数的读取与写入。 ​ app_handler/ ​ app_handler.py:处理非内核配置的读取与写入。 ​ parser_selector.py:处理非内核参数的读取。 ​ writer_selector.py:处理非内核参数的写入。 ​ 注意:config.json中若未指定解析器,自动使用common解析器。自定义其他解析器需要在parser_selector与writer_selector中都进行注册与实现。 3. controller/ client_.py:agent的升级卸载处理类。 grab.py:配置项的读取写入处理类。 heartbeat.py:心跳处理类。 info_.py:配置项、软件包提醒处理类。 patch.py:补丁安装处理类。 script_handler.py:自定义脚本处理类。 4. exception/ 自定义异常。 5. lib/ app_log.py:日志类。 single_method.py:单例装饰器。 utils.py:工具类。 6. net/ dispatch_event.py:事件分发处理类。 event_manager.py:事件处理类,用于绑定controller各任务类型。 select_loop.py:select io主循环。 7. app.py:主类,用于启动事件循环。 8. gen_ca.py:用于agent注册。 9. global_init.py:初始化各全局变量。