首先,说实话,我对 Puppet 世界还很陌生。我正在尝试为我的服务器构建一个 Puppet 脚本。
我的木偶结构是这样的
.
|-- environments
| `-- example_env
| |-- manifests
| |-- modules
| `-- README.environment
|-- manifests
| |-- node.pp
| `-- site.pp
|-- modules
| |-- nginx
| | `-- manifests
| | `-- nginx.pp
| |-- sudoers
| | |-- files
| | | `-- sudoers
| | `-- manifests
| | `-- sudoers.pp
| `-- users
| `-- manifests
| `-- users.pp
|-- puppet.conf
`-- templates
这是我的node.pp
和site.pp
看起来像这样。
# /etc/puppet/manifests/node.pp
node werain {
include sudoers
}
和
# etc/puppet/manifests/site.pp
import 'node.pp'
最后我的sudoers.pp
文件看起来像这样。
# /etc/puppet/modules/sudoers/manifests/sudoers.pp
class sudoers {
file { '/etc/sudoers':
mode: '0400',
source: 'puppet:///modules/sudoers/sudoers',
owner: 'root',
group: 'root'
}
}
知道我做错了什么吗?
我正在puppet
像这样运行命令。
puppet apply /etc/puppet/manifests/site.pp --modulepath=/etc/puppet/modules/
我的puppet
版本是 3.8.4
答案1
当您构建一个模块时,您需要init.pp
在清单目录中有一个文件。
重命名如下:
# /etc/puppet/modules/sudoers/manifests/init.pp
class sudoers {
file { '/etc/sudoers':
mode: '0400',
source: 'puppet:///modules/sudoers/sudoers',
owner: 'root',
group: 'root'
}
}