Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am starting to use chef to automate setting up build machines for a build farm. Some of our dependencies here are machine specific (e.g. license key for proprietary compiler), and other recipe attributes would benefit from being customizable (e.g. where to find an installer that is not publicly available).

Right now, all those settings are hardcoded in the attributes.rb, e.g.:

default[:mkl][:serial] = "XXXX"

and I used default[:mkl][:serial] inside the recipe itself.

I would like a solution that does not require a chef server if possible (I am using chef-solo, and the overhead of a server is not justified at this point).

share|improve this question

I managed to do it as follows:

  • first, in the solo.json file, set it up as such:

      "mkl": {                                                                                        
       "license": "XXX",                                                          
      "run_list": ["recipe[mkl::default]"
    • then run the command chef-solo with -j solo.json.

My mistake was to put the "mkl" section inside override_attributes.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.