Files
ansible-playbook/llmdoc/architecture/dynamic-parameter-building.md
Wang Defa 167fad20eb 添加 Nezha Agent 管理功能和完整文档系统
- 新增 Nezha Agent client_secret 更新 playbook(两种实现方案)
- 建立三层文档架构:docs/(用户文档)、examples/(配置示例)、llmdoc/(技术文档)
- 添加项目主 README.md 和配置示例文件
- 初始化 .gitignore 保护敏感信息
2025-12-16 10:52:38 +08:00

37 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 动态参数构建架构
## 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`,降低配置复杂度
- 使用条件语法代替显式条件判断
- 保持参数生成逻辑集中和清晰