salt-stack:触发器,调用状态更改

时间:2015-10-21 17:38:38

标签: ssh ssh-keys salt-stack password-less

我有一个在minion上创建用户的状态。

这很好用。

用户在第一次运行时创建,接下来的N天(或几年)不会再次创建。

我想在创建用户后在不同的主机上执行某些操作。出于性能原因,我只想在创建用户的第一次运行时执行一次此操作。

到目前为止,我搜索某种触发器,如果​​状态发生变化,它会被触发。欢迎其他解决方案。

用例

在minion上创建用户之后,我需要将minions ssh host-key插入到.ssh / known_hosts文件中,以减少密码登录的工作。

1 个答案:

答案 0 :(得分:1)

要解决用例而不是我建议的问题:

  • 使用Salt Mine收集你的奴才的公钥
  • 将小兵的ssh主持人密钥放入dig

您可以使用openssh formula作为起点。它包含Salt Mine的脚本以及如何创建ssh_known_hosts文件。它为ssh_known_hosts添加了许多神奇功能,可以发现可能对您的环境来说过大的主机名和IP地址。

一旦完成设置,它应该如下工作:

  • 添加用户:将使用主机ssh_known_hosts文件,无需其他任何操作
  • 添加一个小兵:更新我的,在所有小兵上运行配置以更新主人的uri = URI.parse("https://cirrus.app47.com/api/users/obfuscated_userID") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri) request['X-Token'] = "obfuscated-APIToken" request['Accept'] = "application/json" response = http.request(request) 文件。