GithubHelp home page GithubHelp logo

chef-book's Introduction

chef-book

This is pretty out of date now. Please checkout http://learn.chef.io as a great learning resource!

NOTE: This book was inspired by another post I made. If you want some background click that link. :)

The Prerequisites (skills) you need before reading this book

First and foremost, I'm writing this for Linux/Unix-based operatng systems. 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

This book is aimed at a junior level Linux sysadmin, or an intermediate level Linux sysadmin that needs a primer on Chef. Another way to look at it is if you can pass the Linux+ you should be qualified to understand this book.

You should be able to get in and out of the editor that you choose. You should be 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 at another company supporing a chef_repo that was already way too complex. I had no idea what I was looking at and was overwhelmed. I had previousy used Puppet extensively but Chef just seemed baffling. I did my damnedest 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 feel overwhelmed with chef and yet this video still intrigues you, hopefully this book will make your journey easier. I'm writing this book to my 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 give you a foundation to confidently write your first cookbook!

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

Contents

Part one

1. VirtualBox

2. Vagrant

3. VM setup

4. Chef DK

Part two

5. chef-zero

6. Write a simple base cookbook

7. Vagrant provisioning vs local chef-zero

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.

chef-book's People

Contributors

awaxa avatar davedash avatar docwhat avatar feedbee avatar jjasghar avatar joshuaflanagan avatar jsissom avatar kcbraunschweig avatar kowal avatar manewitz avatar scarolan avatar shoekstra avatar squarism avatar thadamski avatar windowsrefund avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chef-book's Issues

sshd_config instead of ssh_config

To make the example in part 2, chapter 6 better, you should use sshd_config not ssh_config.

ssh_config is the defaults when sshing out of the system. It doesn't require a restart for sshd.

However, changes to sshd_config, which controls the server, do require a restart for sshd.

Chapter 4 (omnibus)

Would you be up for me changing this chapter a bit to use the chef-dk? If so I can make a pull-request.

I could do something like:

wget https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chefdk_0.1.0-1_amd64.deb
dpkg -i chefdk_0.1.0-1_amd64.deb

I think the gem vs omnibus install can be put to rest too :)

07-vagrant-provisioning-vs-local-chef-zero Issues

I have had several problems on this page and wondered if anyone could describe a working setup. First I was getting the issue described here : schubergphilis/vagrant-chef-zero#56 which was sort of resolved with installing berkshelf 2.0.1 but not sure if I'm causing unintended consequences by installing that.

That required me to create a metadata.rb with 'name' defined so I dug into what that was and added that.

So my vagrant machine will start up now and provision doesn't throw any errors but it doesn't seem to load anything either. I don't have access to paste in the exact messaging I'm seeing but wanted to get this out there at least and see if anyone knew of the exact setup for this?

Am I supposed to have anything chef related installed on my host machine? My understanding was that it should just be on the VM.

Thanks so much. Even with this issue, this book is the missing chef documentation! Should be on their site.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.