/chef-book

The chef-book

Primary LanguageRuby

chef-book

(Read this first)

NOTE: This has been inspired from this post I made. If you want a some back ground click that link. :)

The Prerequisites (skills) you need before reading this book

The first and foremost is that I'm writing this for Linux based OSes. I understand chef can run on Windows and OSX, but that's not what I want to focus on. So please if these commands don't make sense to you, you should probably look for another book before reading this one.

  • cd OR ls OR mkdir or grep
  • vim OR emacs OR nano
  • bash OR zsh

I'm looking to aim this at a Junior Level Linux Sysadmin, or a Intermediate Level Linux Sysadmin that needs a primer on chef. Another way to look at it, if you can pass the Linux+ you should be good for this book.

You should be able to get in and out of the editor that you choose. You should have a relatively comfortable with the command line in general. Like most technology how-to books, I want to get to the meat of the system as quickly as possible. I'm apologizing ahead of time if you are confused; most if not all should be fixed via a google search pretty easily. I am writing this to be "open-source" so if there is a place that should be fleshed out better, don't hesitated to put a comment in or hell, make a pull request and flesh it out yourself!

The situations you might be in that brought you to read/look for this book

The first situation is the one that I came from. I started my journey with chef about 2-3 years ago, initially as a scripter then an another company as a supporter of a chef_repo that was already way to complex. I had no idea what I was looking at and was overwhelmed. I used puppet extensively but chef just seemed baffling. I did my damnest to read all the blog posts, wiki sites, and how-tos I could find. I eventually threw up my hands and said no. If you have just been over whelmed with the chef and this video still intrigues you hopefully this book will make your journey easier. I'm writing this book to my old past self who would have KILLED for all this information in one location.

The second situation is a simpler one, you're a new Junior Linux Sysadmin (or Developer), and your team uses chef. You have no idea what you are looking at, and your boss just told you to create a new cookbook to control something. This book will walk you through you building a test environment; and hopefully the foundation to be able to confidently write a cookbook to do what your boss wants done.

The third situation is a sad but true one. You're an Intermediate Linux Sysadmin, you watched this video, realize your bash provisioning scripts are dumb and error prone, so you've decided to take this plunge. This book should walk you through enough to be extremely dangerous, and enough to peak your interest to run with it.

Contents

Part one

1. virtualbox

2. vagrant

3. vm setup

4. omnibus install vs gem install

Part two

5. chef-solo

6. Write a simple base cookbook

7. vagrant provisioning vs local chef-solo

Part three

8. knife

9. knife plugins

10. Open Source Chef Server vs Hosted Chef Server

11. Connecting Open Source or Hosted Chef to a VM

Part four

12. Uploading your cookbook to your Chef Server

13. metadata.rb

14. Environments, Roles, oh-my

15. Places to find cookbooks

Part five

16. Berkshelf Primer

17. I know something should go here

18. I know something should go here

19. I know something should go here

Part six

20. Testing with chef

21. minitest handler cookbook

22. Server Spec

23. ChefSpec

24. Integrating with Jenkins or CI in general

Building the PDF

TODO: probably going to steal upgradingrails4 system. Need to play with it. I need suggestions here, pandoc looks extremely promising

Even more promising: https://github.com/schacon/git-scribe

Directories

meta: stuff for the book that isn't the book.

Acknowledgements

To everyone I bugged and poked about helping me out, thanks so much.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.