1. shrkw

    No comment

    shrkw
Changes in body
Source | HTML | Preview

Chef Advent Calendar 2014 - Qiitaの(名目上の)5日目です。


Chef 11.6からremote_fileheaders属性が付与できるようになりました。

Release Notes: chef-client 11.6 — chef-client 11.6 Documentation

例えば、認証付きのJenkinsからファイルを取得する必要がある場合などに使えます、というか、その用途で使いました。

11.6以前って、みんなどうしてたんだろう……。

例えば、JenkinsサーバーにChefアクセス用のユーザー、foo(パスワードはbar)がいるとして、こんな感じでbase64デコードしてやって、

$ echo -n 'foo:bar' | base64 
Zm9vOmJhcg==

それをこんな感じでAuthenticationヘッダに載せてやればオッケーです。

remote_file local_file do
  source remote_file
  headers 'Authorization' => 'Basic Zm9vOmJhcg=='
end

参考

個人の感想です

Chefって覚えること多くてしんどくて、ドキュメントが多い割にはアンドキュメントなところも多くて、開発がアクティブだから1年前の情報と違うこと(最近はencrpyted data bagよりchef-vaultのほうがいいの?)が割とあるとかで、なんだか人気に翳りがでてきてるような気がする。
仕事でRails触ってないから想像なんだけど、Railsのバージョンアップについていくのがしんどいんだけどバージョンアップを頑張りたくてRails使ってるわけじゃない的な。インフラ寄りのひとだったら余計にそうだろうなあ。

まだ、Ansibleのほうが覚えること少なくて芽があるんじゃないか、と思ってて(個人の感想です)、わりとみんなもそうだったりするのかな。

そんなChefとAnsibleの対比を考えていて、なぜかWatson (Jenkinsの旧称)がでてくるまえのCIツール群(Cruise control, Damage controlなど)を思い出した。まーでも、Cruise controlとかはキャズムを超えらんなかったけどChefはそうじゃないから、そういう類型化は違うか。

Ansibleですべて解決!とかはまったく思ってないし同じ問題をはらんでいる可能性もあるんだけど、あくまで個人的にはAnsibleのほうが肌に合うな、と思っています。

以上、個人の感想でした。