跳转到内容

示例库

这个页面把 rauto 仓库里 templates/examples/ 下的示例文件整理成面向运维团队的“示例库”。

仓库里已经提供了不少高质量示例,但如果没有系统索引,团队很难快速知道:

  • 哪个示例适合哪个场景
  • 哪个示例是命令流,哪个是工作流
  • 哪个示例适合单目标事务,哪个适合多设备编排
  • 哪些示例可以直接作为企业级变更模板的起点
文件类型适合场景关键概念
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.jsonInventory小型 inventory 建模defaults、groups、vars
fabric-advanced-orchestration.json编排大型 staged rollout并发、分层发布、job 分离
fabric-advanced-inventory.jsonInventory更复杂的 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导入模板中文运维团队批量导入中文化导入模板

适合以下场景:

  • 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 凭据的混合使用

这是理解 tx-workflow 的最佳起点之一。

适合:

  • block 命名清晰的事务
  • 回滚策略相对简单的变更
  • 团队刚开始引入工作流 JSON 的阶段

适合对 block 模型已经熟悉、需要更复杂单目标变更结构的团队。

常见用途:

  • fabric 级变更
  • 多 block 且回滚策略不同的变更
  • 需要在企业变更评审中复用的标准工作流模板

以下三个文件适合 Linux 侧应用或镜像发布:

  • linux-image-export-and-transfer-workflow.json
  • linux-image-export-and-transfer-with-password-scp-workflow.json
  • linux-image-load-and-restart-workflow.json

这类示例非常适合企业文档中的:

  • 导出 / 打包 / 分发流水线
  • SCP 传输差异路径说明
  • 发布后重启或切换步骤说明

这是一个比较紧凑的 staged rollout 示例。

适合学习:

  • stage 结构
  • 串行 / 并发策略
  • tx_block / tx_workflow 动作绑定
  • 通过 saved connection 选取目标

适合更复杂的大规模发布。

常见企业级用途:

  • 园区或 fabric 全网变更
  • core 与 access 分层发布
  • 需要并发控制与 blast radius 控制的上线计划

这个示例说明:编排不仅用于网络设备,也适合 Linux 主机批量发布。

适合文档化这些场景:

  • Linux 主机批次发布
  • 软件 / 镜像统一分发
  • 多机分阶段切换

这是理解 inventory 结构的最佳起点。

重点包括:

  • 全局 defaults
  • group membership
  • group vars
  • 目标级覆盖

适合企业级 inventory 建模。

重点包括:

  • 更复杂的 defaults 层次
  • 更丰富的目标元数据
  • 更贴近真实网络拓扑的 group 结构

这两份文件特别适合:

  • 运维团队批量接入设备
  • 从 Excel / CSV 迁移已有资产表
  • 在编排上线前统一 saved connection 规范

推荐表头:

name,host,username,password,port,enable_password,ssh_security,linux_shell_flavor,device_profile,template_dir
如果你需要…建议起点
一个交互式 CLI 流程cisco-like-command-flow.toml
Linux 主机 peer-to-peer SCPlinux-scp-with-current-and-peer-command-flow.toml
一个结构化单目标事务core-vlan-workflow.json
更复杂的单目标工作流fabric-change-workflow.json
一个小型 staged rolloutcampus-vlan-orchestration.json
一个更大型 staged rolloutfabric-advanced-orchestration.json
Inventory 建模campus-inventory.json 然后 fabric-advanced-inventory.json
表格化批量接入设备connection-import-template-en.csv / connection-import-template-zh.csv

在企业级文档里,不要只写“示例文件名”,还应补充:

  • 它解决的生产问题是什么
  • 它对 saved connection / inventory 有什么前置假设
  • 运行时必须提供哪些变量
  • 它是否包含回滚 / 补偿逻辑
  • 它属于设备侧交互、目标内工作流,还是多设备编排