Whimlog

寝るまでが一日

docker-puppet-playground の紹介

docker-puppte-playground をリリースしました

Puppet5 がリリース されたので、docker で遊べる環境を作りました。

github.com

Puppet5 を使って Puppet の入門環境が作れます。 docker の使い方をリハビリするついでに、puppet5 の環境を作ってしまおうと思い作成しました。

できること

使い方は README に全部書きましたが、何ができるかを紹介します。 Standalone mode、librarian-puppet を使った module 管理、Agent/Master mode の3つを体験できます。 Agent/Master モードは docker-compose の機能を活用して、シュッと使えるようにしました。なので、puppetserver の起動を行なうだけで manifests の適用を体験できます。

docker について

Docker のベースイメージも docker hub にアップロードしてあります。 この docker-puppet-playground では、以下の2つのベースイメージを利用しています。

asuforce/puppet, asuforce/puppetserver

つまづいたこと

Puppet 5.0.0 がリリースされた直後にこの PR で作成を始めた所、以下の Puppet module コマンドのバグに遭遇しました。

[PUP-7738] "bundle exec puppet module install" fails on Puppet 5.0.0 - Puppet Tickets

bundler 経由で puppet module install が実行されると失敗するというものでした。 これはグローバルにインストールした librarian-puppet を実行するという方法で回避しました。

現在は、Puppet 5.0.1 がリリースされているためこの問題は修正されました。 docker-puppet-playground もバージョンアップに対応済みです。

まとめ

docker と puppet の基本的な使い方を学ぶにはちょうどいい感じのものになっているので、どちらか勉強してみたい人はぜひ使ってみてください。