示例库
这个页面把 rauto 仓库里 templates/examples/ 下的示例文件整理成面向运维团队的“示例库”。
为什么需要这个页面
Section titled “为什么需要这个页面”仓库里已经提供了不少高质量示例,但如果没有系统索引,团队很难快速知道:
- 哪个示例适合哪个场景
- 哪个示例是命令流,哪个是工作流
- 哪个示例适合单目标事务,哪个适合多设备编排
- 哪些示例可以直接作为企业级变更模板的起点
| 文件 | 类型 | 适合场景 | 关键概念 |
|---|---|---|---|
cisco-like-command-flow.toml | 命令流 | 设备侧交互式复制流程 | prompt 匹配、运行时变量、向导式 CLI |
linux-scp-with-current-and-peer-command-flow.toml | 命令流 | Linux 到 Linux 的 SCP 传输 | 当前连接别名、跨连接引用 |
core-vlan-workflow.json | 事务工作流 | 小型结构化核心变更 | block、回滚策略 |
fabric-change-workflow.json | 事务工作流 | 更复杂的 fabric 级单目标变更 | 多 block、复杂回滚 |
campus-vlan-orchestration.json | 编排 | 小型分阶段发布 | stages、jobs、targets |
campus-inventory.json | Inventory | 小型 inventory 建模 | defaults、groups、vars |
fabric-advanced-orchestration.json | 编排 | 大型 staged rollout | 并发、分层发布、job 分离 |
fabric-advanced-inventory.json | Inventory | 更复杂的 inventory 结构 | group defaults、目标覆盖 |
linux-image-rollout-orchestration.json | 编排 | Linux 镜像 / 应用批量发布 | Linux 批量执行 |
linux-image-export-and-transfer-workflow.json | 事务工作流 | 导出与传输流水线 | workflow 组合 |
linux-image-export-and-transfer-with-password-scp-workflow.json | 事务工作流 | 使用密码 SCP 的导出与传输 | 基于密码的传输流程 |
linux-image-load-and-restart-workflow.json | 事务工作流 | 加载新镜像并重启 | Linux 服务切换 |
connection-import-template-en.csv | 导入模板 | 批量导入已保存连接 | 导入表头、运维接入 |
connection-import-template-zh.csv | 导入模板 | 中文运维团队批量导入 | 中文化导入模板 |
cisco-like-command-flow.toml
Section titled “cisco-like-command-flow.toml”适合以下场景:
copy scp:copy tftp:- 多轮文件导入导出
- 需要多次确认的设备操作
它重点展示:
- prompt 正则匹配
{{var}}模板替换- 运行时变量 schema
- mode 控制
- 命令流模板在 SQLite 中复用
linux-scp-with-current-and-peer-command-flow.toml
Section titled “linux-scp-with-current-and-peer-command-flow.toml”适合 Linux 主机同时引用“当前执行目标”和“另一台已保存连接”的场景。
它重点展示:
current_connection_alias{{peer.host}}这类跨连接引用- “变量值指向另一条 saved connection 名称”的模式
- 当前连接与 peer 凭据的混合使用
core-vlan-workflow.json
Section titled “core-vlan-workflow.json”这是理解 tx-workflow 的最佳起点之一。
适合:
- block 命名清晰的事务
- 回滚策略相对简单的变更
- 团队刚开始引入工作流 JSON 的阶段
fabric-change-workflow.json
Section titled “fabric-change-workflow.json”适合对 block 模型已经熟悉、需要更复杂单目标变更结构的团队。
常见用途:
- fabric 级变更
- 多 block 且回滚策略不同的变更
- 需要在企业变更评审中复用的标准工作流模板
Linux 镜像工作流示例
Section titled “Linux 镜像工作流示例”以下三个文件适合 Linux 侧应用或镜像发布:
linux-image-export-and-transfer-workflow.jsonlinux-image-export-and-transfer-with-password-scp-workflow.jsonlinux-image-load-and-restart-workflow.json
这类示例非常适合企业文档中的:
- 导出 / 打包 / 分发流水线
- SCP 传输差异路径说明
- 发布后重启或切换步骤说明
campus-vlan-orchestration.json
Section titled “campus-vlan-orchestration.json”这是一个比较紧凑的 staged rollout 示例。
适合学习:
- stage 结构
- 串行 / 并发策略
tx_block/tx_workflow动作绑定- 通过 saved connection 选取目标
fabric-advanced-orchestration.json
Section titled “fabric-advanced-orchestration.json”适合更复杂的大规模发布。
常见企业级用途:
- 园区或 fabric 全网变更
- core 与 access 分层发布
- 需要并发控制与 blast radius 控制的上线计划
linux-image-rollout-orchestration.json
Section titled “linux-image-rollout-orchestration.json”这个示例说明:编排不仅用于网络设备,也适合 Linux 主机批量发布。
适合文档化这些场景:
- Linux 主机批次发布
- 软件 / 镜像统一分发
- 多机分阶段切换
Inventory 示例
Section titled “Inventory 示例”campus-inventory.json
Section titled “campus-inventory.json”这是理解 inventory 结构的最佳起点。
重点包括:
- 全局 defaults
- group membership
- group vars
- 目标级覆盖
fabric-advanced-inventory.json
Section titled “fabric-advanced-inventory.json”适合企业级 inventory 建模。
重点包括:
- 更复杂的 defaults 层次
- 更丰富的目标元数据
- 更贴近真实网络拓扑的 group 结构
批量导入模板
Section titled “批量导入模板”connection-import-template-en.csv
Section titled “connection-import-template-en.csv”connection-import-template-zh.csv
Section titled “connection-import-template-zh.csv”这两份文件特别适合:
- 运维团队批量接入设备
- 从 Excel / CSV 迁移已有资产表
- 在编排上线前统一 saved connection 规范
推荐表头:
name,host,username,password,port,enable_password,ssh_security,linux_shell_flavor,device_profile,template_dir如何选择合适示例
Section titled “如何选择合适示例”| 如果你需要… | 建议起点 |
|---|---|
| 一个交互式 CLI 流程 | cisco-like-command-flow.toml |
| Linux 主机 peer-to-peer SCP | linux-scp-with-current-and-peer-command-flow.toml |
| 一个结构化单目标事务 | core-vlan-workflow.json |
| 更复杂的单目标工作流 | fabric-change-workflow.json |
| 一个小型 staged rollout | campus-vlan-orchestration.json |
| 一个更大型 staged rollout | fabric-advanced-orchestration.json |
| Inventory 建模 | campus-inventory.json 然后 fabric-advanced-inventory.json |
| 表格化批量接入设备 | connection-import-template-en.csv / connection-import-template-zh.csv |
企业级文档最佳实践
Section titled “企业级文档最佳实践”在企业级文档里,不要只写“示例文件名”,还应补充:
- 它解决的生产问题是什么
- 它对 saved connection / inventory 有什么前置假设
- 运行时必须提供哪些变量
- 它是否包含回滚 / 补偿逻辑
- 它属于设备侧交互、目标内工作流,还是多设备编排