跳到正文

核心概念 ​

ReliaForge 以插件的形式运行 Python 运维工具。开发者提供工具,平台负责加载、检查依赖、 读取配置,以及启动和停止。

插件是什么? ​

插件是一个包含 Python 代码和 manifest.json 的目录。这个文件告诉 ReliaForge 插件叫什么、 版本是多少、从哪里运行,以及需要哪些其他插件。

代码可以提供查询接口、在后台采集数据,也可以提供 Runbook 服务,具体功能由作者决定。 开发插件会带你把一个 Python 函数变成团队可以调用的 API。

启动插件会发生什么? ​

后端检查插件配置,准备运行所需的资源,然后调用启动代码。插件依赖的其他插件必须先运行。 停止时会调用作者编写的清理代码,例如关闭客户端、结束后台任务。

控制台显示两种状态:

状态告诉你什么
运行状态插件正在运行、已经停止,还是发生了错误
健康状态运行中的服务是否报告了问题;插件运行时,健康状态仍可能是降级

启动插件后,它提供的服务才可使用。执行查询或其他业务操作时,还需要调用服务的 API。

怎样使用它提供的服务? ​

每个插件在 /api/v1/plugins/{plugin_id} 下提供自己的 API。接口地址、参数和返回结果以作者的 使用说明为准。本地开发时,也可以在 http://127.0.0.1:8000/api/v1/docs 浏览接口。

控制台用于查看插件状态和执行启停操作。插件的业务界面由作者提供。

插件之间怎样协作? ​

插件可以向其他插件共享 Python 服务。例如,demo 提供 demo.greeting,内置的 runbook 插件调用它生成文本预览。

提供者在 capabilities 中列出服务名称。使用者先在 dependencies 中列出提供者,再获取服务。 这两个字段说明插件之间如何协作;HTTP 接口在插件的路由文件中定义。

在哪里改配置? ​

在启动后端之前设置插件需要的环境变量。插件的 PluginSettings 类定义可用配置项。例如, 生成的 sample_tool 从 RELIAFORGE_SAMPLE_TOOL_MESSAGE 读取消息内容。

控制台显示字段定义,包括类型和默认值,不显示当前实际值。密钥值和密钥默认值会被省略。 为自己的插件增加配置时,请参考后端的 配置示例。

基于 MIT 许可证发布。