是否可以在 Puppet 配置中自动安装或包含 Puppet 模块?我必须puppet module install
在运行之前手动运行puppet apply
。
答案1
我正在下载模块并将它们存储在我的上级目录中,Vagrantfile
在该目录中我指定了查找模块的路径config.vm.provision :puppet, :module_path => "modules"
,然后将它们包含在我的 puppet 清单中。
答案2
据我所知,使用“vanilla”Puppet 是不可能的,但是使用图书管理员傀儡这是可能的:
Librarian-puppet 是 Puppet 基础架构的捆绑器。您可以使用 librarian-puppet 来管理基础架构所依赖的 Puppet 模块。它基于 Librarian,这是一个用于编写捆绑器的框架,捆绑器是解析、获取、安装和隔离项目依赖项的工具。
Librarian-puppet 根据您的 Puppetfile 为您管理模块/目录。您的 Puppetfile 将成为您需要哪些模块以及哪个版本、标签或分支的权威来源。
一旦使用 Librarian-puppet,您就不应该修改模块目录的内容。应该更新各个模块的存储库,使用新版本标记并在 Puppetfile 中更新版本。
答案3
目前Vagrant
,流浪图书管理员傀儡模块。
安装:
vagrant plugin install vagrant-librarian-puppet
摘自自述文件:
Vagrant 将在任何配置步骤之前自动运行 Librarian-Puppet,因此只需像平常一样设置您的 Puppetfile。
您可以使用 librarian_puppet.puppetfile_dir 配置键指定运行 librarian-puppet 的子目录。请记住,您需要在 :puppet 配置器中明确设置模块路径,并且此路径在运行 vagrant 命令之前必须存在。