我想提高我的技能Foreman
。Puppet
为此,我想完成一些简单的任务。
在我的配置中,属于主机组“Basic”的所有服务器都应获得基本设置 - 包括添加新用户并将其添加到 sudsers 文件中。
为此,我使用例子42/sudo
现在我想通过向目录添加文件来添加用户/etc/sudoers.d/
。
文档告诉我使用sudo::directive
。
以下是一个例子:
sudo::directive { 'jenkins':
content => "jenkins ALL=NOPASSWD: /usr/sbin/puppi \n", # Double quotes and newline (\n) are needed here
}
现在我的问题是:我知道如何向主机组添加类。我也知道如何覆盖参数。
我当前对主机组“Basis”的配置如下:
但是我如何sudo::directive
在 Foreman 中使用?
答案1
外部节点分类器(例如 Foreman)不允许您直接声明单个资源。您可以做以下几件事:
- 定义全局变量值
- 声明类
- 定义类参数值
由于您使用的模块不提供采用哈希值描述一些初始资源,您不能直接使用 ENC 来做到这一点。
您可以构建一个自定义模块,该模块采用哈希值并sudo::directive
使用为您声明资源create_resources
。