我正在尝试在Puppet中创build一个letsencrypt模块。 基本上,我想实现的是以下几点:
class { "letsencrypt": url => "example.com" } openssl openssl genrsa 4096 > example.com.key (还有一个用于letsencrypt帐户和证书签名请求的密钥),将其保存到puppet文件夹并再次运行第2步。 基本上我的问题是如何在木偶大师上运行命令。 我想在puppet master上运行密钥生成,并在那里有私钥,只有证书请求在节点上运行。
这是甚至可能与木偶? 或者我应该完整地将完整的过程传递给节点,而不是跟踪Puppet中的任何内容(只需设置cronjob等)?
谢谢!
Puppet提供了一个名为generate的函数,它将使用任意本地命令的输出来填充本地清单variables。 它可以用来调用执行密钥生成的自定义本地脚本,在本地安装公钥,并返回私钥内容,然后将其作为文件资源安装在puppet代理上。 例如:
file { "/path/to/private/key": ensure => present, content => generate("/path/to/my/custom/script"), ... }