基本需求:
- 对代理 X 执行操作
- 对代理 Y 执行操作
- 对代理 X 执行操作
这些操作需要按顺序执行,这很容易通过 saltstack 使用 publish.publish 来实现。对代理 Y 执行操作的访问权限由 salt master 管理。
我在 puppet 中找到的最接近的东西是“外部资源”(ER),因为它们可用于对其他代理执行操作,但 ER 在许多方面都不足:
他们不支持操作排序
定位基于标签,不考虑安全性
它们是如此解耦,以至于您无法通过阅读代码知道操作将在何处执行或操作来自何处。
无法获得有关操作成功或失败的反馈
有没有替代 saltstacks publish.publish 的木偶?