
在给多个传统客户提供服务的过程中,我遇到了这样一些 “奇葩但真实” 的环境:
scp + rpm -ivh 手工执行一度想强行用 Ansible,但连 Python 环境都被锁死,根本跑不起来。
于是我萌生了一个想法:
“不如自己写一个类 Ansible 工具,真正做到可执行、轻依赖、可扩展,还能在这些环境下跑起来。”
这,就是 CraftWeave 的诞生背景。
CraftWeave 是一个融合任务编排、架构建模和轻量执行能力的 DevOps 工具集,灵感源于 Ansible,但更灵活、模块化,并具备独立运行的 Rust 轻量 Agent,适用于极限环境下的配置管理与远程运维。
功能 | 描述 |
|---|---|
craftweave ansible | 类 Ansible 命令行执行器 |
craftweave playbook | 支持 YAML 多步骤任务编排 |
craftweave vault | 加解密配置 (TODO) |
craftweave cmdb | 拓扑导出为图模型 (TODO) |
craftweave plugin | 运行插件模块,预留 WASM 扩展 (TODO) |
功能 | 描述 |
|---|---|
cw-agent run | 单次拉取远程配置并执行 |
cw-agent daemon | 后台常驻运行,定期调度 |
cw-agent apply --file | 支持本地 JSON 配置的离线执行 |
状态持久化 | 执行结果保存到本地 JSON/嵌入式 DB |
免 Python / Shell | 纯 Rust 编写,极致轻量,跨平台部署 |
git clone https://github.com/svc-design/CraftWeave.git
cd CraftWeave
make -C CraftWeave
make -C CraftWeaveAgent[all]
demo ansible_host=192.168.124.77 ansible_ssh_user=shenlan
cn-hub ansible_host=1.15.155.245 ansible_ssh_user=ubuntu
global-hub ansible_host=2.15.135.215 ansible_ssh_user=centos
[all:vars]
ansible_port=22
ansible_ssh_private_key_file=~/.ssh/id_rsacraftweave ansible all -i example/inventory -m shell -a 'id'craftweave ansible all -i example/inventory -m shell -a 'id' --aggregateexample/playbook.yaml
- name: 系统检查
hosts: all
tasks:
- name: 查看内核
module: shell
args: uname -rcraftweave playbook -i example/inventory -f example/playbook.yamlcraftweave ansible all -i example/inventory -m script -a example/uname.shcd CraftWeaveAgent
cargo build --release
cp target/release/cw-agent /usr/local/bin/cw-agent run # 拉取并执行一次任务
cw-agent daemon # 常驻进程持续调度
cw-agent apply --file config.json # 离线执行本地任务
cw-agent status # 查看最近执行记录CraftWeave 并非只是 Ansible 替代者,而是立足于以下核心理念:
📌 GitHub 项目地址:
🧵 如果你也曾在 “不能 pip、不能 yum、不能联网” 的环境中痛苦挣扎,
或者想打造一个更轻更智能的运维工具,欢迎:
Star ⭐Fork 🍴PR 💻Issue 💬CraftWeave 是我用 AIGC 打造的第一个实战落地工具,整个开发过程其实非常简单,也非常真实:
利用给客户服务时的摸鱼间隙、午休刚醒的片刻,下班后在星巴克的零碎时间——没有熬夜加班,也没有堆代码堆到深夜,只用了五天。
借助 ChatGPT 的辅助,我只需要提供结构性构思与功能目标,由它辅助生成代码、编写 GitHub Action、优化流程,然后我负责 QA 和微调。这样 “C+V+思考” 的节奏,就将 ansible 和 ansible-playbook 核心基础功能成功复刻出来。
不仅如此,CraftWeave 还原生支持了 聚合输出相同结果的主机 这个经典但常被忽视的功能——在传统 Ansible 中需要借助 pdsh 或 ansbak 等外部工具,而我将它直接融合到 CLI 命令中,让大规模展示变得更清爽直观。
有了 AI 助手,开发不再是障碍,真正的挑战是:你是否有清晰的构思与明确的目标。
借助 🤖 ChatGPT 之力,愿你我皆成 AIGC 时代的创造者与架构编织者。🚀
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。