VDD can be easily customized and extended. You may implement your custom
cookbook and place it inside chef/cookbooks/custom directory or you may use
berkshelf to download cookbook from remote repository.

Cookbook inside chef/cookbooks/custom directory

  1. Take a look at vdd_example cookbook inside chef/cookbooks/custom directory.
  2. Create your own cookbook and place it inside chef/cookbooks/custom directory.
  3. Include your recipies in run_list in vdd.json role file inside chef/roles directory.

Remote cookbook using berkshelf

Berkshelf is great cookbook manager for Chef. It can automatically download cookbooks and their dependencies. Please, learn more at http://berkshelf.com/.

  1. Install berkshelf on your host machine.
  2. Include link to remote cookbooks' repository in Berksfile.
  3. Delete Berksfile.lock file and chef/cookbooks/berks directory.
  4. Run next command inside VDD directory. It will download all dependencies.
    $ berks vendor chef/cookbooks/berks
    

Comments

rhuffstedtler’s picture

According to Seth Vargo, the vagrant berkshelf plugin is being deprecated. It will likely be supported until Berkshelf 4, but if I understand Seth's post correctly, the guidance is that we should all be transitioning toward Test Kitchen.

https://sethvargo.com/the-future-of-vagrant-berkshelf/

rwaery.11’s picture

How do I extend VDD to add custom node attributes? Here is my use case: I'm adding memcached to my vdd using the memcached cookbooks (requiring runit). To configure memcached.conf, I need to add custom node attributes in the following format:
node['memcached'][memory'], node['memcached']['port'] etc.
Thanks

edited:
Nevermind, I didn't properly read the documentation on the cookbook.