添加 Nezha Agent 管理功能和完整文档系统
- 新增 Nezha Agent client_secret 更新 playbook(两种实现方案) - 建立三层文档架构:docs/(用户文档)、examples/(配置示例)、llmdoc/(技术文档) - 添加项目主 README.md 和配置示例文件 - 初始化 .gitignore 保护敏感信息
This commit is contained in:
37
llmdoc/architecture/dynamic-parameter-building.md
Normal file
37
llmdoc/architecture/dynamic-parameter-building.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 动态参数构建架构
|
||||
|
||||
## 1. 身份定义
|
||||
|
||||
- **定义:** 一种通过条件逻辑动态生成命令行参数的 Ansible 技术模式
|
||||
- **目的:** 根据变量状态灵活构建命令,实现高度可配置的安装/卸载脚本
|
||||
|
||||
## 2. 核心组件
|
||||
|
||||
- `xxxigcc_install.yaml:22-35`: 动态参数构建的关键实现区域
|
||||
- `ansible.builtin.set_fact`: 用于动态生成 `install_command`
|
||||
|
||||
## 3. 执行流程(LLM检索映射)
|
||||
|
||||
1. **参数定义**:在 `vars` 部分预定义布尔开关
|
||||
- 例如:`enable_keepalive`、`enable_1gb_pages`
|
||||
|
||||
2. **条件参数生成**:使用 Jinja2 条件语法
|
||||
```yaml
|
||||
{{ '--keepalive' if enable_keepalive else '' }}
|
||||
```
|
||||
|
||||
3. **命令构建**:通过 `set_fact` 拼接最终命令
|
||||
- 根据布尔变量动态添加/移除参数
|
||||
- 支持复杂的条件逻辑(如 `enable_cc and enable_cc_tls`)
|
||||
|
||||
## 4. 设计原理
|
||||
|
||||
- **灵活性**:通过布尔开关实现细粒度配置控制
|
||||
- **可读性**:使用声明式语法,避免复杂的编程逻辑
|
||||
- **可扩展性**:易于添加新的可选参数和配置
|
||||
|
||||
## 5. 关键实践
|
||||
|
||||
- 默认值设置为 `true`,降低配置复杂度
|
||||
- 使用条件语法代替显式条件判断
|
||||
- 保持参数生成逻辑集中和清晰
|
||||
Reference in New Issue
Block a user