Submit Search
Upload
Reusable Cookbook Patterns
•
1 like
•
1,787 views
C
coderanger
Follow
From Chef Summit 2013
Read less
Read more
Entertainment & Humor
Education
Report
Share
Report
Share
1 of 29
Download now
Download to read offline
Recommended
Chef conf-2014
Chef conf-2014
Jamie Winsor
Automating your infrastructure with Chef
Automating your infrastructure with Chef
John Ewart
Chef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS Newbies
Mamun Rashid, CCDH
Latest Blouse Back Neck Designs & Patterns 2016
Latest Blouse Back Neck Designs & Patterns 2016
Khyathi Sha
Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5
Chef
2015 08-11-scdo-meetup
2015 08-11-scdo-meetup
Suresh Paulraj
Resources, Providers, and Helpers Oh My!
Resources, Providers, and Helpers Oh My!
Brian Stajkowski
Chef Jumpstart
Chef Jumpstart
Kimball Johnson
Recommended
Chef conf-2014
Chef conf-2014
Jamie Winsor
Automating your infrastructure with Chef
Automating your infrastructure with Chef
John Ewart
Chef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS Newbies
Mamun Rashid, CCDH
Latest Blouse Back Neck Designs & Patterns 2016
Latest Blouse Back Neck Designs & Patterns 2016
Khyathi Sha
Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5
Chef
2015 08-11-scdo-meetup
2015 08-11-scdo-meetup
Suresh Paulraj
Resources, Providers, and Helpers Oh My!
Resources, Providers, and Helpers Oh My!
Brian Stajkowski
Chef Jumpstart
Chef Jumpstart
Kimball Johnson
Cookbook Reusability @ Chef Community summit 2014
Cookbook Reusability @ Chef Community summit 2014
Sean OMeara
Introduction to Cooking with Chef
Introduction to Cooking with Chef
John Osborne
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3
Chef
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Patrick McDonnell
Lwrp presentation
Lwrp presentation
geekbri
Chef resources
Chef resources
Denis Looby
Modernizing Legacy Applications in PHP, por Paul Jones
Modernizing Legacy Applications in PHP, por Paul Jones
iMasters
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Chef
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
DevOpsDays Austin 2014
Getting Started with Test-Driven Development at Midwest PHP 2021
Getting Started with Test-Driven Development at Midwest PHP 2021
Scott Keck-Warren
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Software, Inc.
Scaling to-5000-nodes
Scaling to-5000-nodes
Philip Watts
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet
Building a PaaS using Chef
Building a PaaS using Chef
Shaun Domingo
What Makes a Good Cookbook?
What Makes a Good Cookbook?
Julian Dunn
Configuration management with Chef
Configuration management with Chef
Juan Vicente Herrera Ruiz de Alejo
Emerging chef patterns and practices
Emerging chef patterns and practices
Owain Perry
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Chef
Chef at WebMD
Chef at WebMD
adamleff
Background Jobs with Resque
Background Jobs with Resque
homanj
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
ranjana rawat
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Shivani Pandey
More Related Content
Similar to Reusable Cookbook Patterns
Cookbook Reusability @ Chef Community summit 2014
Cookbook Reusability @ Chef Community summit 2014
Sean OMeara
Introduction to Cooking with Chef
Introduction to Cooking with Chef
John Osborne
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3
Chef
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Patrick McDonnell
Lwrp presentation
Lwrp presentation
geekbri
Chef resources
Chef resources
Denis Looby
Modernizing Legacy Applications in PHP, por Paul Jones
Modernizing Legacy Applications in PHP, por Paul Jones
iMasters
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Chef
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
DevOpsDays Austin 2014
Getting Started with Test-Driven Development at Midwest PHP 2021
Getting Started with Test-Driven Development at Midwest PHP 2021
Scott Keck-Warren
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Software, Inc.
Scaling to-5000-nodes
Scaling to-5000-nodes
Philip Watts
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet
Building a PaaS using Chef
Building a PaaS using Chef
Shaun Domingo
What Makes a Good Cookbook?
What Makes a Good Cookbook?
Julian Dunn
Configuration management with Chef
Configuration management with Chef
Juan Vicente Herrera Ruiz de Alejo
Emerging chef patterns and practices
Emerging chef patterns and practices
Owain Perry
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Chef
Chef at WebMD
Chef at WebMD
adamleff
Background Jobs with Resque
Background Jobs with Resque
homanj
Similar to Reusable Cookbook Patterns
(20)
Cookbook Reusability @ Chef Community summit 2014
Cookbook Reusability @ Chef Community summit 2014
Introduction to Cooking with Chef
Introduction to Cooking with Chef
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Lwrp presentation
Lwrp presentation
Chef resources
Chef resources
Modernizing Legacy Applications in PHP, por Paul Jones
Modernizing Legacy Applications in PHP, por Paul Jones
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
The Five Stages of Chef Grief: My First 6 months with Chef, and Getting Aroun...
Getting Started with Test-Driven Development at Midwest PHP 2021
Getting Started with Test-Driven Development at Midwest PHP 2021
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
Scaling to-5000-nodes
Scaling to-5000-nodes
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Building a PaaS using Chef
Building a PaaS using Chef
What Makes a Good Cookbook?
What Makes a Good Cookbook?
Configuration management with Chef
Configuration management with Chef
Emerging chef patterns and practices
Emerging chef patterns and practices
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Chef at WebMD
Chef at WebMD
Background Jobs with Resque
Background Jobs with Resque
Recently uploaded
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
ranjana rawat
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Shivani Pandey
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...
noor ahmed
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
noor ahmed
Call Girl Nashik Amaira 7001305949 Independent Escort Service Nashik
Call Girl Nashik Amaira 7001305949 Independent Escort Service Nashik
Call Girls in Nagpur High Profile
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...
Apsara Of India
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
anamikaraghav4
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
anamikaraghav4
Almora call girls 📞 8617697112 At Low Cost Cash Payment Booking
Almora call girls 📞 8617697112 At Low Cost Cash Payment Booking
Nitya salvi
Call Girls Chirag Delhi Delhi WhatsApp Number 9711199171
Call Girls Chirag Delhi Delhi WhatsApp Number 9711199171
Delhi Call Girls 📞9899900591 ✔️ High Profile Service 100% Safe
College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...
College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...
anamikaraghav4
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
noor ahmed
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
anamikaraghav4
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escorts
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escorts
ranjana rawat
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
noor ahmed
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
noor ahmed
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur High Profile
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
rahim quresi
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Apsara Of India
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Me
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Me
anamikaraghav4
Recently uploaded
(20)
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Call Girl Nashik Amaira 7001305949 Independent Escort Service Nashik
Call Girl Nashik Amaira 7001305949 Independent Escort Service Nashik
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
Almora call girls 📞 8617697112 At Low Cost Cash Payment Booking
Almora call girls 📞 8617697112 At Low Cost Cash Payment Booking
Call Girls Chirag Delhi Delhi WhatsApp Number 9711199171
Call Girls Chirag Delhi Delhi WhatsApp Number 9711199171
College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...
College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escorts
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escorts
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Me
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Me
Reusable Cookbook Patterns
1.
Cookbook Reusability Noah Kantrowitz Balanced,
Inc
2.
The problem Community cookbooks
only do 90% of what you need.
3.
4.
New Problem • Complex contribution
process. • Forking during iteration. • Proliferation of special cases.
5.
Wrapper Cookbooks • Overriding attributes. • chef-rewind,
here be dragons. • Extension by prepend/append.
6.
Requirements • Responsive effort: 5%
change ~5% work • Documented extension mechanism. Integration with kitchen, berks, etc. •
7.
DevOps
8.
LWRPs? • Still only prepend/append. • No
substitution except rewind. • Better, but not by much.
9.
Enter: Classes class Chef class
Resource::Something < Resource ... end class Provider::Something < Provider ... end end
10.
Chef::Resource def initialize(*args) super @resource_name =
:something @action = :enable @allowed_actions = [ :enable, :disable ] end
11.
Chef::Resource def path(arg=nil) set_or_return(:path, arg,
{ kind_of: String }) end
12.
Chef::Provider def load_current_resource end def whyrun_supported? true end def
action_enable ... end
13.
Why? • • No really,
subclassing! Allows detailed, responsive • Subclassing. customization.
14.
Verbosity • A lot
of boilerplate code. Missing some LWRP DSL goodies. •
15.
Poise
16.
Poise class Resource::Something <
Resource include Poise ... end class Provider::Something < Provider include Poise ... end
17.
LWRP-ese class Resource::Something <
Resource include Poise actions(:enable, :disable) attribute(:path, kind_of: String) end
18.
Notifying Block def action_enable notifying_block
do ... end end
19.
Include Recipe def action_enable include_recipe
'something' end
20.
Lazy Defaults class Resource::Something
< Resource include Poise attribute(:path, default: lazy { node['path'] } ) end
21.
Option Collector class Resource::Something
< Resource include Poise attribute(:database, option_collector: True) end
22.
Option Collector something 'one'
do database host: 'a', port: 8000 end
23.
Option Collector something 'one'
do database do host 'a' port 8000 end end
24.
Sub-resources class Resource::Something <
Resource include Poise(container: true) end
25.
Sub-resources class Resource::Foo <
Resource include Poise(parent: Something) end
26.
Sub-resources something 'one' do ... foo
'asdf' do ... end end
27.
Sub-resources something 'one' do ... end foo
'asdf' do parent 'one' end
28.
Sub-resources something 'one' foo 'asdf'
29.
Distribution • Cookbooks? • Gems?
Download now