dismissing Chef when I say that. The advantages over manually writing setup/maintenance script are not to be underestimated. But for the most part things you do with Chef are things you would otherwise do with shell scripts, and there are problems.
a moment to understand the various "flavors" of chef: client-server, chef-solo, and the Opscode Platform. Deciding which one is right for you will impact your installation process. You may also want to take a quick look at Chef's architecture to get an idea of what you're installing before you proceed.” http:/ /wiki.opscode.com/display/chef/Installation Tuesday, April 26, 2011
Just use the existing systems. Some ‘advanced’ techniques but all established, known systems Prior experience applies any learning will feed back into existing workflow
26, 2011 Able to bring an existing script to Linecook, then rework to make it more powerful or maintainable. You will work with scripts directly. Again all prior experience applies.
[packages/abox/test] if [ $(cat /tmp/message.txt) == "hello world" ] then echo "# success" else echo "# fail" fi linecook run --script test # fail linecook run linecook run --script test # success Tuesday, April 26, 2011
obj ).to_s) end end recipe = Recipe.new recipe.extend Helper recipe.instance_eval %q{ get "milk" target << ", " get "cookies" } recipe.target # => "got milk, got cookies" This is a recipe! Tuesday, April 26, 2011
str %>" [recipes/abox.rb] helpers "example" echo "# I will not manually configure my server" [lib/example.rb] module Example # Write an echo ... def echo(str) target<< "echo ";... end end Tuesday, April 26, 2011
str %>" [recipes/abox.rb] helpers "example" echo "# I will not manually configure my server" [lib/example.rb] module Example # Write an echo ... def echo(str) target<< "echo ";... end end Tuesday, April 26, 2011
str %>" [recipes/abox.rb] helpers "example" echo "# I will not manually configure my server" [lib/example.rb] module Example # Write an echo ... def echo(str) target<< "echo ";... end end Tuesday, April 26, 2011
str %>" [recipes/abox.rb] helpers "example" echo "# I will not manually configure my server" [lib/example.rb] module Example # Write an echo ... def echo(str) target<< "echo ";... end end Tuesday, April 26, 2011
str %>" [recipes/abox.rb] helpers "example" echo "# I will not manually configure my server" [lib/example.rb] module Example # Write an echo ... def echo(str) target<< "echo ";... end end Tuesday, April 26, 2011
str %>" [recipes/abox.rb] helpers "example" echo "# I will not manually configure my server" [lib/example.rb] module Example # Write an echo ... def echo(str) target<< "echo ";... end end Tuesday, April 26, 2011
str %>" [recipes/abox.rb] helpers "example" echo "# I will not manually configure my server" linecook build linecook run # I will not manually configure my server Tuesday, April 26, 2011
str) codes = Hash[*%W{red 0;31 white 1;37 blue 0;34}] -- \033[<%= codes[color.to_s] %>m<%= str %>\033[0m [recipes/abox.rb] helpers "example" msg = "# I will not manually configure my server" echo _color("blue", msg) Tuesday, April 26, 2011
str) codes = Hash[*%W{red 0;31 white 1;37 blue 0;34}] -- \033[<%= codes[color.to_s] %>m<%= str %>\033[0m [recipes/abox.rb] helpers "example" msg = "# I will not manually configure my server" echo _color("blue", msg) Prefix with underscore String output used as input Tuesday, April 26, 2011
str) codes = Hash[*%W{red 0;31 white 1;37 blue 0;34}] -- \033[<%= codes[color.to_s] %>m<%= str %>\033[0m [recipes/abox.rb] helpers "example" msg = "# I will not manually configure my server" echo _color("blue", msg) linecook build linecook run # I will not manually configure my server Tuesday, April 26, 2011
will not manually configure my server" 3.times do echo _color("blue", msg) end linecook build linecook run # I will not manually configure my server # I will not manually configure my server # I will not manually configure my server Tuesday, April 26, 2011