1. shrkw

    No comment

    shrkw
Changes in body
Source | HTML | Preview
@@ -1,45 +1,47 @@
[Chef Advent Calendar 2014 - Qiita](http://qiita.com/advent-calendar/2014/chef)の(名目上の)5日目です。
----
Chef 11.6から`remote_file`に`headers`属性が付与できるようになりました。
[Release Notes: chef-client 11.6 — chef-client 11.6 Documentation](http://docs.getchef.com/release/11-6/release_notes.html#resource-remote-file-attributes)
例えば、認証付きのJenkinsからファイルを取得する必要がある場合などに使えます、というか、その用途で使いました。
11.6以前って、みんなどうしてたんだろう……。
例えば、JenkinsサーバーにChefアクセス用のユーザー、foo(パスワードはbar)がいるとして、こんな感じでbase64デコードしてやって、
```
$ echo -n 'foo:bar' | base64
Zm9vOmJhcg==
```
それをこんな感じで`Authentication`ヘッダに載せてやればオッケーです。
```ruby
remote_file local_file do
source remote_file
headers 'Authorization' => 'Basic Zm9vOmJhcg=='
end
```
参考
------------
* [remote_file — Chef Docs](https://docs.getchef.com/resource_remote_file.html)
* [recipe - Opscode Chef: provider remote_file with headers attribute - Stack Overflow](http://stackoverflow.com/questions/17838120/opscode-chef-provider-remote-file-with-headers-attribute)
個人の感想です
--------------
Chefって覚えること多くてしんどくて、ドキュメントが多い割にはアンドキュメントなところも多くて、開発がアクティブだから1年前の情報と違うこと(最近は[encrpyted data bag](http://docs.getchef.com/chef/essentials_data_bags.html#encrypt-a-data-bag-item)より[chef-vault](https://docs.getchef.com/chef_vault.html)のほうがいいの?)が割とあるとかで、なんだか人気に翳りがでてきてるような気がする。
仕事でRails触ってないから想像なんだけど、Railsのバージョンアップについていくのがしんどいんだけどバージョンアップを頑張りたくてRails使ってるわけじゃない的な。インフラ寄りのひとだったら余計にそうだろうなあ。
まだ、Ansibleのほうが覚えること少なくて芽があるんじゃないか、と思ってて(個人の感想です)、わりとみんなもそうだったりするのかな。
そんなChefとAnsibleの対比を考えていて、なぜかWatson (Jenkinsの旧称)がでてくるまえのCIツール群(Cruise control, Damage controlなど)を思い出した。まーでも、Cruise controlとかはキャズムを超えらんなかったけどChefはそうじゃないから、そういう類型化は違うか。
+Ansibleですべて解決!とかはまったく思ってないし同じ問題をはらんでいる可能性もあるんだけど、あくまで個人的にはAnsibleのほうが肌に合うな、と思っています。
+
以上、個人の感想でした。