1. shrkw

    Posted

    shrkw
Changes in title
+remote_fileリソースで認証を越えてアクセスする
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,33 @@
+
+[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)