LoginSignup
10
10

More than 5 years have passed since last update.

Berkshelfでcookbookの参照先を変える(githubやlocalなど)

Posted at

Berkshelfを使うと、cookbookのdependenciesを解決してくれるらしい。

Berkshelfは基本はopscodeに登録されているcookbookを使用する。

site :opscode

cookbook 'mysql'
cookbook 'nginx', '~> 0.101.5'

公式のcookbookをローカルにcloneして変更したものを使いたいときは、以下。

cookbook "artifact", path: "/Users/reset/code/artifact-cookbook"

githubリポジトリを参照するときはこんな感じ。
refでrevisionを指定している。

cookbook "riak", github: "basho/riak-chef-cookbook", ref: "2.2.0"

今回はriak-chef-cookbookを変更して、
BackendのDBとしてBitcaskではなくeLevelDBを使用するように変更した。

以下、vagrant-riak-clusterをgit cloneしたとして進める。

まずはcookbookをclone

$ cd vagrant-riak-cluster
$ git submodule add https://github.com/basho/riak-chef-cookbook.git

cookbookの書き換え

https
# riak_kv storage_backend
default['riak']['config']['riak_kv']['storage_backend'] = "riak_kv_eleveldb_backend"

Berkshelfでローカルパスを指定

Berkshelf
cookbook "riak", path: "./riak-chef-cookbook"

Berkshelf.lockがすでに作成されている場合はBerkshelfへの変更が反映されない。
その場合はBerkshelf.lockを削除(なにかコマンドがあるかも?)

vagrant upして確認

$ vagrant up
$ vagrant ssh riak1
vagrant@riak1 $ less /etc/riak/app.config

 {riak_kv, [
                ~~~~
                {storage_backend, riak_kv_eleveldb_backend},
                ~~~~
        ]},

無事、変わっていることを確認。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10