web-dev-qa-db-ja.com

「puppet apply」にpuppetモジュールを自動的にインストールする方法

Puppet構成にpuppetモジュールを自動的にインストールまたは含めることは可能ですか? puppet module installを実行する前に、手動でpuppet applyを実行する必要があります。

7
Mike

モジュールをダウンロードして、Vagrantfileの上のディレクトリに保存しています。ここで、config.vm.provision :puppet, :module_path => "modules"を使用してモジュールを検索するパスを指定し、それらをパペットマニフェストに含めています。

3
Nev Stokes

ちなみに、「バニラ」パペットでは不可能ですが、 librarian-puppet では可能です:

Librarian-puppetは、パペットインフラストラクチャのバンドラーです。 librarian-puppetを使用して、インフラストラクチャが依存するパペットモジュールを管理できます。これは、プロジェクトの依存関係を解決、フェッチ、インストール、および分離するツールであるバンドラーを作成するためのフレームワークであるLibrarianに基づいています。

Librarian-puppetは、Puppetfileに基づいてmodules /ディレクトリを管理します。 Puppetfileは、必要なモジュールと、バージョン、タグ、またはブランチの信頼できるソースになります。

Librarian-puppetを使用した後は、modulesディレクトリの内容を変更しないでください。個々のモジュールのリポジトリを更新し、新しいリリースとPuppetfileに追加されたバージョンでタグ付けする必要があります。

1
Daniel Serodio

今のところ、Vagrantには vagrant-librarian-puppet モジュールがあります。

インストール:

vagrant plugin install vagrant-librarian-puppet

Readmeから:

Vagrantは、プロビジョニング手順の前にLibrarian-Puppetを自動的に実行するため、通常どおりにPuppetfileを設定するだけです。

Librarian_puppet.puppetfile_dir構成キーを使用して、librarian-puppetを実行するサブディレクトリを指定できます。 :puppetプロビジョナーでモジュールパスを明示的に設定する必要があり、vagrantコマンドを実行する前にこのパスが存在している必要があることに注意してください。

0
Ivan Kolmychek