Puppetリンク集

サーバの構成管理ツールPuppetについてのリンク集です。

他に比べて日本語の情報が少ない？ので、リンクをまとめました。QiitaでPuppetタグがついているものと、何度か見たことあるものから選んでいます。偏りがあると思いますので、他にも参考になる情報がありましたら、コメントしていただけると助かります。

※一部情報が古いため、最新版だと違う場合もあります。

# まずはこのあたり
Puppetの基本的な内容については、下記サイトを参考に。

- 【さくらのナレッジ】[Puppetを使ったLinuxシステムの設定自動管理](http://knowledge.sakura.ad.jp/tech/755/)
- 【@ IT】新人インフラ技術者のためのサーバー構築／運用自動化入門
  - [Puppetのインストールと動作確認、トラブル対処法](
http://www.atmarkit.co.jp/ait/articles/1410/08/news016.html)
  - [作業手順書はもういらない！ Puppetにおける自動化の定義書「マニフェスト」の書き方と基礎文法まとめ](
http://www.atmarkit.co.jp/ait/articles/1501/23/news012.html)

# まとめ系
Puppetについてひととおり知りたい場合、こちらを参考に。

- 【Qiita】[私とPuppet 基本編 その1 (Resource,Ordering,Class,Define,Node)](http://qiita.com/takeuchikzm/items/cfa012571fdedcf0792b)
- 【Qiita】[私とPuppet 基本編 その2 (Module,File,Templates,Variable)](http://qiita.com/takeuchikzm/items/6b65af9e0cf8d317c9b3)

Chef使っているひと向け。

- 【Qiita】[CheferのためのPuppet](http://qiita.com/udzura/items/c8ab94f85e4783b6de8c)

だいぶ古いのでコマンドが違ったりしますが、まとまった情報が得られます。

- 【技術評論社】[オープンソースなシステム自動管理ツール Puppet](http://gihyo.jp/admin/serial/01/puppet)
  - [第3回　マニフェストはじめの一歩](http://gihyo.jp/admin/serial/01/puppet/0003)
  - [第4回　マニフェスト応用編（その1）](http://gihyo.jp/admin/serial/01/puppet/0004)
  - [第5回　マニフェスト応用編（その2）](http://gihyo.jp/admin/serial/01/puppet/0005)
  - [第6回　Puppet実践テクニック（その1）](http://gihyo.jp/admin/serial/01/puppet/0006)
  - [第7回　Puppet実践テクニック（その2）](http://gihyo.jp/admin/serial/01/puppet/0007)
  - [第8回　Puppet実践テクニック（その3）](http://gihyo.jp/admin/serial/01/puppet/0008)
  - [第10回　Puppet実践テクニック（その5）](http://gihyo.jp/admin/serial/01/puppet/0010)
  - [第14回　Facterの拡張](http://gihyo.jp/admin/serial/01/puppet/0014)

# エージェント/マスター構成でよくあるトラブル
スタンドアローン(apply)ではなく、エージェント/マスター構成でPuppetを使っている場合、エージェント側の認証でよくトラブルのでこの辺りを参考に。

- 【Qiita】[Exiting; no certificate found and waitforcert is disabled の対処法](http://qiita.com/udzura/items/2559247b1b1401a2dc02)
- 【Qiita】[puppet入門4 ハマった場合の対処とか](http://qiita.com/tukiyo3/items/d05bf0b705fd473adc55)
- 【Qiita】[puppet入門6 puppetのclientを追加する](http://qiita.com/tukiyo3/items/261beec159f17a457d02)



# 知っていると便利なTipsなど
puppetの細かい機能についてです。順番に意味はないので、興味のある内容から読むと参考になるかとおもいます。

- 【Qiita】[exec - refreshonly の使い所](http://qiita.com/udzura/items/aac88dc71f7db0fff9dc)
- 【Qiita】[Puppetでfileを再帰的に設定するrecurse属性](http://qiita.com/kijibato/items/d2e46830d7242cd45aab)
- 【Qiita】[Puppetの --detailed-exitcodes オプション](http://qiita.com/udzura/items/bc1443d9acb1b54f42c1)
- 【Qiita】[Puppet Resource Collectorls (宇宙船演算子) について](http://qiita.com/hfm/items/5569b02ffccad8781164)
- 【Qiita】[Puppetの文法チェック](http://qiita.com/kijibato/items/38d37ae1c0d180f0e886)
- 【@ IT】[GitやDockerと連携するPuppet運用テクニック、filebucketによる自動バックアップ、GUIのPuppet Dashboard](http://www.atmarkit.co.jp/ait/articles/1504/06/news008.html)
- 【Qiita】[PuppetのHieraで同じリソースを複数定義する（create_resources）](http://qiita.com/kijibato/items/7f81d0fcc732fcbb7ca5)
- 【Qiita】[External Node Classifiers について その2]
(http://qiita.com/udzura/items/251471e6287a88c81da0)
- 【Qiita】[Defined Type の使い所を考える](http://qiita.com/udzura/items/f3e6319fed0617379c3f)

# Puppetをよりよく書くには
puppetで定義をある程度書いてみて、どういう書き方がいいのか気になった場合は、この辺りを参考に。

- 【Qiita】[私とPuppet ベストプラクティス編 その1 (ディレクトリ構成とその役割)](http://qiita.com/takeuchikzm/items/5e303e03a48ab2f0db1a)
- 【Qiita】[私とPuppet ベストプラクティス編 その2 (多種多様なサーバの構成管理)]
(http://qiita.com/takeuchikzm/items/8dd82540a8cceb7b850f)
- 【Qiita】[私とPuppet ベストプラクティス編 その3 (Hieraで世界が変わる?)](http://qiita.com/takeuchikzm/items/e04e6cbe84a185eb1f26)
- 【Qiita】[Puppetスタイルガイド(翻訳)]
(http://qiita.com/takeuchikzm/items/b79ab74d277e3af30081)

# なぜ構成管理ツールを使うの？
そもそもpuppetに限らず、なんでサーバ設定に構成管理ツールを使うのかみたいな内容が気になるひとはこちらを参考に。

- 【Qiita】[私とPuppet 概念編](http://qiita.com/takeuchikzm/items/fb9d1701ea19be337131)
- 【Qiita】[Immutable Infrastructure 【インフラ環境もソースコード管理しよう】](http://qiita.com/kasaharu/items/654d20dbea935438de78)
- 【Qiita】[Puppet導入前に知りたかったこと](http://qiita.com/kijibato/items/939019983c7734045960)

# 4.x
Puppet3.xとPuppet4.xで、結構違う部分があるので。バージョン4.xを使う場合、こちらを参考に。

- 【Qiita】[[和訳] Updating 3.x Manifests for Puppet 4.x](http://qiita.com/mk2/items/830fba9871f12ff59492)
- 【Qiita】[Puppet 4.x から消えた import の代わりに Main Manifest を Directory に変更する](http://qiita.com/hfm/items/a1c39a4e07d4f786d52f)
- 【Qiita】[Puppet 4でハマらない！型の比較が厳密になった equality を知る](http://qiita.com/hfm/items/4d7706a450d0a8230c03)

# インフラCI
Puppetのマニフェスト自体のテストはどうするかは、こちらを参考に。

- 【Qiita】[PuppetのインフラCIのいま](http://qiita.com/udzura/items/3c6677331d103943307e)

# よく参考にする英語サイト
英語のサイトですが、以外と見る機会多かったので紹介です。
各リソースの定義についてわからないことがあると、puppet labsのType Referenceを見ます。Puppetでこういう場合はどうする的な内容は、Puppet CookBookを参考に。

- [puppet labs - Type Reference](http://docs.puppetlabs.com/references/latest/type.html)
- [Puppet CookBook](http://www.puppetcookbook.com/)

# 公式サイト
英語でもいいから、やっぱり公式情報だというひとは、この辺りを参考にしてください。

- https://puppetlabs.com/
  - [Type Reference](http://docs.puppetlabs.com/references/latest/type.html)
  - [Module Fundamentals](http://docs.puppetlabs.com/puppet/latest/reference/modules_fundamentals.html)
  - [Puppet 4.0 Preview: Where Did Everything Go?](https://docs.puppetlabs.com/puppet/latest/reference/whered_it_go.html)
  - [Hiera 3: Overview](http://docs.puppetlabs.com/hiera/latest/)
  - [Hiera 3: Complete Example](http://docs.puppetlabs.com/hiera/3.0/complete_example.html)
  - [Facter 3.1: Documentation Index](http://docs.puppetlabs.com/facter/latest/)
  - [Facter 3.1: Core Facts](http://docs.puppetlabs.com/facter/latest/core_facts.html)
  - [Facter 3.1: Overview of Custom Facts With Examples](http://docs.puppetlabs.com/facter/latest/fact_overview.html)
  - [Facter 3.1: Custom Facts Walkthrough](http://docs.puppetlabs.com/facter/latest/custom_facts.html)