7. The actual process...
• Grumble about creating packages while relearning .spec
files
• Create packages
• Upload packages
• Upload again because you don't know where they went
• Create software policies and attach
8. The actual process...
• Curse openly about how much faster I could've done this
with bash
• Remediate
• Don't get any good feedback on remediation progress
• Wait forever for remediation
• End up with inconsistent hosts
• (°□°︵
9. Enough drama... why did it suck?
• Remediation was slow (5+ minutes sometimes)
• No easy config file management
• No easy way to control the order of software policies
22. If you build it, they will come.
If you don't, they'll set up their own chef server.
23. Barriers to Upload
• Enforce some standards
• Do some basic testing
• Eliminate need for users to have knife to upload cookbooks
24. Chefkins
• Chef + Jenkins
• Sets up a new cookbook for the user
• User clones the git repo
• User commits and pushes
• Jenkins build is triggered
• Jenkins tests the cookbook
• Jenkins uploads the cookbook
29. Line Cook
• Mimics a chef server, but still requires one
• Provides AuthN and AuthZ
• Versions everything
• Blocks cookbook uploads
To our users, it just feels like knife against a chef
server.
44. Attribute Inflexibility
• Environment attributes were getting messy
• Too many people had to have access to make changes
• Too many cookbook wrappers
• Even with debug_value, very difficult to troubleshoot.
45. Sensitive Data
Chef Vault works but regenerating the keys file can be painful
and slow.
46. Wait a sec...
What about those Saurus Extended Attributes?
47. Saurus + Chef Wishlist
• Let me mark an EA as sensitive so it's encrypted at rest and
not shown in the UI
• Give a host all its Extended Attributes, inheriting from the
hierarchy
• Never allow a host to get EAs that aren't its own
48. Saurus + Chef = ❤
• Saurus API endpoint for retrieving EA data
• Chef cookbook library helper for retrieving that data
• Authenticates using the Chef client key
• Returns a Chef Mash
50. Alright, what's the point?
• Chef server is not perfect
• Nothing is perfect
• Chef server is an awesome artifact server
• My business logic and requirements are different than yours
• Expect to invest time/resources/etc. to make something
right
52. How to fix a technical problem
From least expensive to most expensive...
1. Throw hardware at it
2. Buy software for it
3. Write software for it
Try these in order if you can.
But it's OK if #3 is the answer.
53. Are you using Chef yet?
• Try it! -- getchef.com
• Learn it! -- learn.getchef.com
• If you don't like it, learn something else!
Life is too short to not automate.