我有一个在minion上创建用户的状态。
这很好用。
用户在第一次运行时创建,接下来的N天(或几年)不会再次创建。
我想在创建用户后在不同的主机上执行某些操作。出于性能原因,我只想在创建用户的第一次运行时执行一次此操作。
到目前为止,我搜索某种触发器,如果状态发生变化,它会被触发。欢迎其他解决方案。
用例
在minion上创建用户之后,我需要将minions ssh host-key插入到.ssh / known_hosts文件中,以减少密码登录的工作。
答案 0 :(得分:1)
要解决用例而不是我建议的问题:
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)
文件。